home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Resources / Online / Term / termRexx.doc < prev    next >
Text File  |  1996-10-20  |  80KB  |  3,663 lines

  1.    `term' - A terminal program for Amiga computers
  2.  
  3.    Copyright © 1990-1996 Olaf Barthel
  4.  
  5.    You may make and distribute verbatim copies of this documentation if
  6. the contents are unchanged or the author has agreed to any changes made.
  7.  
  8.    No guarantee of any kind is given that the program described in this
  9. document are 100% reliable. You are using this material on your own
  10. risk.
  11.  
  12.    The program `term' and the data received/sent by it must not be used
  13. for the following purposes:
  14.  
  15.   1. The construction, development, production or testing of weapons or
  16.      weapon systems of any kind.
  17.  
  18.   2. The construction, development, production or use of
  19.      plants/installations which include the processing of
  20.      radioactive/fissionable material.
  21.  
  22.   3. The training of persons to deal with the abovesaid actions.
  23.  
  24.  
  25.    Listen to your conscience.
  26.  
  27. Changes
  28. *******
  29.  
  30.    Previous `term' releases would use a different ARexx host interface
  31. implementation.  In order to conform to Commodore-endorsed user
  32. interface style guidelines it was redesigned from scratch for version
  33. 3.0. The design and implementation of the ARexx host interface was
  34. suggested by the `Amiga User Interface Style Guide' and strongly
  35. influenced by Martin Taillefer's `TurboText' ARexx host interface.
  36.  
  37.    Not a simple command has `survived' the revision, the new
  38. implementation is no longer compatible with its predecessors, so
  39. existing ARexx scripts will have to be adapted or even entirely
  40. rewritten.
  41.  
  42.    `term' no longer distinguishes explicitely between asynchronous and
  43. synchronous commands (i.e. commands which force the main program to
  44. wait and commands which need not bother the main program as the ARexx
  45. handler process is able to execute them). As of this writing it is safe
  46. to assume that almost any command will be processed by the main
  47. program, exceptions are noted.
  48.  
  49. term and ARexx
  50. **************
  51.  
  52.    This document describes the ARexx(tm) (1) commands supported by
  53. `term'.  This is not intended to be an introduction to the language
  54. itself.  Rexx was developed by Mike F.  Cowlishaw on an IBM/SP system
  55. and ported to the Amiga by William S.  Hawes.
  56.  
  57.    ARexx (or Amiga Rexx) is a commercial product which is included with
  58. the AmigaDOS 2.0 Enhancer Package.  If you need a good introduction and
  59. description of the language, try to get a hold of the book `The REXX
  60. Language A Practical Approach to Programming' by M.F.  Cowlishaw,
  61. available from Prentice-Hall International, Inc.
  62.  
  63.    The section entitled Command execution gives a brief introduction
  64. how to write and run ARexx commands. For more information refer to the
  65. Release 2 Users Manual `Using the System Software'.
  66.  
  67.    By default `term' opens an ARexx host by the name of `TERM'
  68. (accessable via `address term').  If more than a single `term' process
  69. is running on your machine, the name of the host will be adapted to the
  70. number of the program (i.e.  the first programm will use `TERM', the
  71. second one will use `TERM.1', the third one `TERM.2', etc.). The
  72. default name can be overridden by invoking the program with certain
  73. parameters (see main program documentation). The name of the host is
  74. displayed in the status window (see main program documentation).
  75.  
  76.    ---------- Footnotes ----------
  77.  
  78.    (1)  ARexx is a registered trademark of Wishful Thinking Development
  79. Corp.
  80.  
  81. Command execution
  82. =================
  83.  
  84.    In order to invoke any command supported by `term' one usually has
  85. to address the host explicitely:
  86.  
  87.      /* Address the `term' host. */
  88.  
  89.      ADDRESS term
  90.  
  91.      /* Invoke the `beepscreen' commmand. */
  92.  
  93.      BEEPSCREEN
  94.  
  95.    However, if an ARexx script is invoked directly by the `term' main
  96. program, the script will by default address the main program it was
  97. invoked by.
  98.  
  99.    Most commands will return results or error codes on failure. To
  100. enable result codes, one has to use the `options results' command. The
  101. results returned by commands will be placed in the `result' variable:
  102.  
  103.      /* We assume that the script will address the host it was invoked from.
  104.       *
  105.       * Enable command results.
  106.       */
  107.  
  108.      OPTIONS RESULTS
  109.  
  110.      /* Request a string from the user. */
  111.  
  112.      REQUESTSTRING DEFAULT 'anything' PROMPT 'Enter anything'
  113.  
  114.      /* Did the user cancel the requester? */
  115.  
  116.      IF rc ~= 0 THEN
  117.         SAY 'user cancelled requester'
  118.      ELSE
  119.         SAY result /* Output the result . */
  120.  
  121.    Failure codes will always be returned in the `rc' variable (see
  122. previous example).
  123.  
  124.    In case of failure (variable `rc' >= 10), `term' will leave an error
  125. code in the `term.lasterror' variable:
  126.  
  127.      /* Enable command results. */
  128.  
  129.      OPTIONS RESULTS
  130.  
  131.      /* Produce an error by not supplying any arguments. */
  132.  
  133.      STOPBITS
  134.  
  135.      /* Display the error code. */
  136.  
  137.      SAY term.lasterror
  138.  
  139.    Rexx tries to tokenize any command parameters, this process involves
  140. promoting them to all upper case letters and checking for illegal
  141. characters. This feature inhibits the use of the `:' (colon) and blank
  142. space characters in parameter names unless the corresponding arguments
  143. are enclosed in quotes. To make things even more complicated, the
  144. parser will not always accept parameters to contain blank spaces. If a
  145. command template accepts the entire command line (such as `TEXT/K/F') a
  146. parameter can include any number of blank spaces. A command template to
  147. accept just a single parameter (such as `TEXT/K') requires double
  148. quotes if blank spaces are included. Text such as `tea or coffee?' thus
  149. becomes `'"tea or coffee?"''.
  150.  
  151.      /* The following command will fail to send the file `ram:foobar' as the colon
  152.       * in the path name will cause an error:
  153.       */
  154.  
  155.      SENDFILE ram:foobar
  156.  
  157.      /* Here is how to do it correctly: */
  158.  
  159.      SENDFILE 'ram:foobar'
  160.  
  161.      /* The following command will fail to send the file `foo bar' as the
  162.       * file name is treated as two single files:
  163.       */
  164.  
  165.      SENDFILE foo bar
  166.  
  167.      /* The next line will still fail to send the file `foo bar'
  168.       * as the ARexx parser will split the argument into two
  169.       * parameters.
  170.       */
  171.  
  172.      SENDFILE 'foo bar'
  173.  
  174.      /* Here is how to do it correctly: */
  175.  
  176.      SENDFILE '"foo bar"'
  177.  
  178.      /* The following command will not transmit the string `Hello sailor'
  179.       * across the serial line as the single words will be capitalized,
  180.       * they will be transmitted as `HELLO SAILOR':
  181.       */
  182.  
  183.      SEND Hello sailor
  184.  
  185.      /* Here is how to do it correctly: */
  186.  
  187.      SEND 'Hello sailor'
  188.  
  189. Stopping a command
  190. ******************
  191.  
  192.    Programs and commands sometimes fail to do what the user is expecting
  193. them to do which makes it necessary to bring program/command execution
  194. to a stop. A common ARexx script to call no external functions or host
  195. commands one can be halted in the following ways:
  196.  
  197.   1. Executing the `HI' command (located in the `SYS:rexxc' drawer)
  198.      from Shell. This command will attempt stop *all* currently running
  199.      ARexx scripts.
  200.  
  201.   2. If the ARexx script to be executed runs in an environment to sport
  202.      an output window, activate the window and press the `Control + C'
  203.      keys.  A break signal will be sent to the ARexx script, causing it
  204.      to stop as soon as possible.
  205.  
  206.  
  207.    With host environments such as `term' it may not always be possible
  208. to abort a command using the simple measures described above. As for
  209. `term' any command to wait (such as the READ, DELAY or WAIT commands)
  210. can be aborted by sending `term' itself a break signal in the following
  211. fashion:
  212.  
  213.   1. If the `term' program is still attached to a Shell output window,
  214.      activate the window and press the `Control + D' keys.
  215.  
  216.   2. If the `term' program was invoked from a Shell but is no longer
  217.      attached to it, enter `status command term' from Shell, remember
  218.      the number printed, then enter `break <number>' with `<number>'
  219.      being the number returned by the `status' command.
  220.  
  221.   3. Press the hotkey combination configured in the program hotkey
  222.      settings (see main program documentation). The default is `Right
  223.      Shift + Left Shift + Escape'. This will cause a break signal to be
  224.      sent to the `term' program.
  225.  
  226.  
  227. Commands
  228. ********
  229.  
  230.    The commands supported by `term' are listed in a table of the
  231. following form:
  232.  
  233. `Format:'
  234.      The command name with its possible calling parameters. In this
  235.      table parameters are enclosed in brackets and braces, separated by
  236.      commas and vertical bars; *do not type these special characters
  237.      along with the parameters!*:
  238.  
  239.     `< > (Angle brackets)'
  240.           Angle brackets enclose parameters whose contents *must not*
  241.           be omitted in order to make the command work properly.
  242.  
  243.     `[ ] (Square brackets)'
  244.           Square brackets enclose optional parameters.
  245.  
  246.     `{ } (Curly braces)'
  247.           Curly braces enclose items which can be repeated a number of
  248.           times, such as file name lists.
  249.  
  250.     `| (Vertical bar)'
  251.           Vertical bars separate alternative, mutually exclusive
  252.           options.
  253.  
  254.     `, (Comma)'
  255.           Commas separate multiple applicable options.
  256.  
  257. `Template:'
  258.      The command template, similar to the command templates employed by
  259.      AmigaDOS Shell commands.  Possible templates are:
  260.  
  261.     `<Parameter>/A'
  262.           The parameter must always be included in order to get
  263.           accepted.
  264.  
  265.     `<Option>/K'
  266.           The option's keyword must be given.
  267.  
  268.     `<Option>/S'
  269.           This option works as a switch. If this option keyword is
  270.           included the switch is on, else it is off.
  271.  
  272.     `<Option>/N'
  273.           A numeric parameter is expected.
  274.  
  275.     `<Option>/M'
  276.           Multiple parameters are accepted.
  277.  
  278.     `<Text>/F'
  279.           The text must be the final parameter on the command line.
  280.  
  281.     `, (Comma)'
  282.           Indicates that the command takes no parameters.
  283.  
  284. `Purpose:'
  285.      Briefly describes what the command will do.
  286.  
  287. `Specifications:'
  288.      Describes the command and its possible uses in more detail.
  289.  
  290. `Result:'
  291.      The type of the command result code if any.
  292.  
  293. `Warning:'
  294.      If the command can return with a warning and when.
  295.  
  296. `Example:'
  297.      An example code fragment to illustrate how to use the command.
  298.      Commands and keywords are given in upper case, the names of
  299.      variables and command arguments are given in lower case. Where a
  300.      single command line would not fit into a single line on the
  301.      screen, an ellipsis ('...') is meant to join the broken line.
  302.  
  303.    Table of commands in alphabetical order:
  304.  
  305.    Table of commands in functional groups:
  306.  
  307.    Commands dealing with text buffer and capturing
  308.  
  309.    Commands dealing with serial I/O
  310.  
  311.    Commands dealing with lists
  312.  
  313.    Commands dealing with the clipboard
  314.  
  315.    Commands dealing with file transfers
  316.  
  317.    Commands dealing with terminal I/O
  318.  
  319.    Commands dealing with windows and requesters
  320.  
  321.    Commands dealing with program attributes
  322.  
  323.    Commands dealing with program execution
  324.  
  325.    Commands dealing with file I/O
  326.  
  327.    Miscellaneous commands
  328.  
  329. The ACTIVATE command
  330. ====================
  331.  
  332. `Format:'
  333.      ACTIVATE
  334.  
  335. `Template:'
  336.      ,
  337.  
  338. `Purpose:'
  339.      De-iconifies the program, brings the main window to the front and
  340.      makes it active.
  341.  
  342. `Specifications:'
  343.      The program can be put to sleep using the DEACTIVATE command, to
  344.      bring it back to proper operation, use the `ACTIVATE' command. If
  345.      this command is invoked while the program is not asleep, it will
  346.      cause the main window to be brought to the front and activated.
  347.  
  348. `Result:'
  349.      -
  350.  
  351. `Warning:'
  352.      -
  353.  
  354. `Example:'
  355.           /* This is how the main programm can be (re-)activated: */
  356.  
  357.           ACTIVATE
  358.  
  359. The ADDITEM command
  360. ===================
  361.  
  362. `Format:'
  363.      ADDITEM [To] <Upload|Download|Dial|Wait> [Before|After] [Command
  364.      <Command for trap list>] [Response <Response text>] [Phone <Entry
  365.      number, name or wildcard pattern>] [Name <Name>]
  366.  
  367. `Template:'
  368.      TO/A,BEFORE/S,AFTER/S,RESPONSE/K,COMMAND/K,PHONE/K/F,NAME/K/F
  369.  
  370. `Purpose:'
  371.      Inserts an item (a name, a phone number, text, etc.) before or
  372.      after the currently selected list item.
  373.  
  374. `Specifications:'
  375.      `term' maintains a number of lists, these are:
  376.     `Upload list'
  377.           The list of files to be uploaded.
  378.  
  379.     `Download list'
  380.           The list of files the program has downloaded.
  381.  
  382.     `Dial list'
  383.           The list of phone numbers or phone book entries to be dialed.
  384.  
  385.     `Wait list'
  386.           The list of texts the WAIT command is to wait for.
  387.  
  388.      New items can be added to the list with the `ADDITEM' command. The
  389.      upload list expects the names of files the SENDFILE command is to
  390.      transfer. It makes little sense to add files names to the download
  391.      list as the `term' main program maintains it and adds the names of
  392.      files received to it, but it is still possible. The wait list
  393.      expects text lines the WAIT command will look for in the terminal
  394.      input stream.  A wait list entry added using the `RESPONSE'
  395.      keyword will if found in the input data stream cause the response
  396.      text to be immediately sent to the remote.  *Note: a wait list
  397.      entry to make use of the `RESPONSE' keyword will be handled by the
  398.      WAIT command, the ARexx script will not notice if this list entry
  399.      was found or not.*
  400.  
  401.      The dial list accepts a number of different parameters:
  402.     `Phonebook entry numbers'
  403.           These are passed using the `Phone' parameter which should be
  404.           a numeric value as it is used as an index to pick the
  405.           corresponding entry from the phone book.
  406.  
  407.     `Phonebook entry names'
  408.           These are also passed using the `Phone' parameter which can
  409.           be a proper name or a wildcard pattern.
  410.  
  411.     `Phone numbers'
  412.           These are passed using the `Name' parameter.
  413.  
  414.      List item can be inserted before or after the currently selected
  415.      list item (see SELECTITEM command). The default is to insert them
  416.      after the currently selected list item.
  417.  
  418. `Result:'
  419.      -
  420.  
  421. `Warning:'
  422.      -
  423.  
  424. `Example:'
  425.           /* Enable result codes. */
  426.  
  427.           OPTIONS RESULTS
  428.  
  429.           /* Get a file name from the user. */
  430.  
  431.           REQUESTFILE TITLE '"Select a file to upload"'
  432.  
  433.           /* Add the file name to the upload list. */
  434.  
  435.           IF rc = 0 THEN ADDITEM TO upload NAME result
  436.  
  437.           /* Add phonebook entry #2 to the dial list. */
  438.  
  439.           ADDITEM TO dial PHONE 2
  440.  
  441.           /* Add all phonebook entries whose names start
  442.            * with an `a' to the dial list.
  443.            */
  444.  
  445.           ADDITEM TO dial PHONE a#?
  446.  
  447.           /* Add a plain phone number to the dial list. */
  448.  
  449.           ADDITEM TO dial NAME 424242
  450.  
  451. The BAUD command
  452. ================
  453.  
  454. `Format:'
  455.      BAUD [Rate] <Transfer speed in bits per second>
  456.  
  457. `Template:'
  458.      RATE/A/N
  459.  
  460. `Purpose:'
  461.      Sets the serial line transfer speed
  462.  
  463. `Specifications:'
  464.      Sets the serial line transfers speed to some defined value. The
  465.      rate parameter passed in will be matched against all valid BPS
  466.      rates supported by `term', the closest value will be used.
  467.  
  468. `Result:'
  469.      Returns the old baud value.
  470.  
  471. `Warning:'
  472.      -
  473.  
  474. `Example:'
  475.           /* Change the serial transfer speed to 2400 bps. */
  476.  
  477.           BAUD 2400
  478.  
  479. The BEEPSCREEN command
  480. ======================
  481.  
  482. `Format:'
  483.      BEEPSCREEN
  484.  
  485. `Template:'
  486.      ,
  487.  
  488. `Purpose:'
  489.      `Beeps' the terminal screen.
  490.  
  491. `Specifications:'
  492.      Invokes a bell signal, as configured in the program settings.
  493.  
  494. `Result:'
  495.      -
  496.  
  497. `Warning:'
  498.      -
  499.  
  500. `Example:'
  501.           /* Invoke a bell signal. */
  502.  
  503.           BEEPSCREEN
  504.  
  505. The CALLMENU command
  506. ====================
  507.  
  508. `Format:'
  509.      CALLMENU [Title] <Title text or wildcard pattern>
  510.  
  511. `Template:'
  512.      TITLE/A/F
  513.  
  514. `Purpose:'
  515.      Invokes the function associated with a menu item.
  516.  
  517. `Specifications:'
  518.      Calls a pull-down menu function just as if the user had selected it
  519.      using the mouse. The `Title' parameter can be any valid menu item
  520.      name or a wildcard pattern. In the latter case, only the first
  521.      menu item to match the pattern will be called.
  522.  
  523. `Result:'
  524.      -
  525.  
  526. `Warning:'
  527.      If no matching menu item was to be found.
  528.  
  529. `Example:'
  530.           /* Invoke the `About...' menu item. */
  531.  
  532.           CALLMENU abou#?
  533.  
  534. The CAPTURE command
  535. ===================
  536.  
  537. `Format:'
  538.      CAPTURE [To] <Printer|File> [Append|Overwrite|Skip] [Name <File
  539.      name>]
  540.  
  541. `Template:'
  542.      TO/A,APPEND/S,OVERWRITE/S,SKIP/S,NAME/K
  543.  
  544. `Purpose:'
  545.      Starts a file or printer capture.
  546.  
  547. `Specifications:'
  548.      If a capture is not already in progress will open a capture file
  549.      or start capturing incoming terminal text to the printer. If the
  550.      `File' argument is given and the `Name' parameter is omitted, will
  551.      prompt for the name of a file to capture to.
  552.  
  553.      If to capture to a given file, will append the captured text. If
  554.      user is to select a file to capture to, will ask whether to append
  555.      the text to the file or to overwrite it.
  556.  
  557.      The command will not prompt the user to confirm whether an
  558.      existing file should be overwritten, etc. if one of the following
  559.      options are in effect:
  560.  
  561.     `APPEND'
  562.           If the named file exists, append the new capture data to it.
  563.  
  564.     `OVERWRITE'
  565.           If the named file exists, delete it before adding new capture
  566.           data to it.
  567.  
  568.     `SKIP'
  569.           If the named file exists, don't overwrite it. Do not open the
  570.           capture file.
  571.  
  572. `Result:'
  573.      -
  574.  
  575. `Warning:'
  576.      In case user was to select a file and aborted the selection.
  577.  
  578. `Example:'
  579.           /* Open a named capture file. */
  580.  
  581.           CAPTURE TO file NAME 'ram:capture file'
  582.  
  583.           /* Close the capture file, ask the user for a file name. */
  584.  
  585.           CLOSE FILE
  586.           CAPTURE TO file
  587.  
  588.           /* Capture to the printer. */
  589.  
  590.           CAPTURE TO printer
  591.  
  592. The CLEAR command
  593. =================
  594.  
  595. `Format:'
  596.      CLEAR [From] <Upload|Download|Dial|Wait|Buffer> [Force]
  597.  
  598. `Template:'
  599.      FROM/A,FORCE/S
  600.  
  601. `Purpose:'
  602.      Clears the contents of a global list or the text buffer.
  603.  
  604. `Specifications:'
  605.      This command serves to clear the contents of the lists to be
  606.      maintained using the ADDITEM, REMITEM, SELECTITEM, etc. commands
  607.      and to purge the contents of the text buffer. In the latter case
  608.      the program will prompt for confirmation in case the buffer still
  609.      holds any lines. This confirmation can be suppressed by using the
  610.      `Force' parameter.
  611.  
  612. `Result:'
  613.      -
  614.  
  615. `Warning:'
  616.      In case the user did not confirm to clear the buffer.
  617.  
  618. `Example:'
  619.           /* Clear the wait list. */
  620.  
  621.           CLEAR FROM wait
  622.  
  623.           /* Clear the buffer, ask for a confirmation. */
  624.  
  625.           CLEAR FROM buffer
  626.  
  627.           /* If no confirmation was given, clear it by force. */
  628.  
  629.           IF rc ~= 0 THEN CLEAR FROM buffer FORCE
  630.  
  631. The CLEARSCREEN command
  632. =======================
  633.  
  634. `Format:'
  635.      CLEARSCREEN
  636.  
  637. `Template:'
  638.      ,
  639.  
  640. `Purpose:'
  641.      Clears the terminal screen
  642.  
  643. `Specifications:'
  644.      Clears the terminal screen and positions the cursor in the top
  645.      left corner.
  646.  
  647. `Result:'
  648.      -
  649.  
  650. `Warning:'
  651.      -
  652.  
  653. `Example:'
  654.           /* Clear the terminal screen. */
  655.  
  656.           CLEARSCREEN
  657.  
  658. The CLOSE command
  659. =================
  660.  
  661. `Format:'
  662.      CLOSE [From] <Printer|File|All>
  663.  
  664. `Template:'
  665.      FROM/A
  666.  
  667. `Purpose:'
  668.      Terminates file and/or printer capture.
  669.  
  670. `Specifications:'
  671.      Terminates a capture process as started with the CAPTURE command.
  672.      Will terminate printer capture, file capture or both.
  673.  
  674. `Result:'
  675.      -
  676.  
  677. `Warning:'
  678.      -
  679.  
  680. `Example:'
  681.           /* Terminate both file and printer capture. */
  682.  
  683.           CLOSE ALL
  684.  
  685. The CLOSEDEVICE command
  686. =======================
  687.  
  688. `Format:'
  689.      CLOSEDEVICE
  690.  
  691. `Template:'
  692.      ,
  693.  
  694. `Purpose:'
  695.      Release the current serial device driver
  696.  
  697. `Specifications:'
  698.      Frees the serial device driver for use with other applications.
  699.      The driver can be reopened (or a different device driver can be
  700.      selected) using the OPENDEVICE command.
  701.  
  702. `Result:'
  703.      -
  704.  
  705. `Warning:'
  706.      -
  707.  
  708. `Example:'
  709.           /* Release the serial device driver, all serial I/O
  710.            * will be halted.
  711.            */
  712.  
  713.           CLOSEDEVICE
  714.  
  715. The CLOSEREQUESTER command
  716. ==========================
  717.  
  718. `Format:'
  719.      CLOSEREQUESTER
  720.  
  721. `Template:'
  722.      ,
  723.  
  724. `Purpose:'
  725.      Closes the currently open requester window
  726.  
  727. `Specifications:'
  728.      Will close any currently open requester window, such as the
  729.      dialing window, the phone book, the serial settings window, etc.
  730.      Will not close windows such as the file transfer window or the
  731.      text/numeric input windows.
  732.  
  733. `Result:'
  734.      -
  735.  
  736. `Warning:'
  737.      -
  738.  
  739. `Example:'
  740.           /* Close the currently open requester window,
  741.            * whatever it may be.
  742.            */
  743.  
  744.           CLOSEREQUESTER
  745.  
  746. The DEACTIVATE command
  747. ======================
  748.  
  749. `Format:'
  750.      DEACTIVATE
  751.  
  752. `Template:'
  753.      ,
  754.  
  755. `Purpose:'
  756.      Iconifies the program.
  757.  
  758. `Specifications:'
  759.      Puts the application to sleep. Requires Workbench to be running,
  760.      so an AppIcon can be put on the Workbench backdrop. This command
  761.      will be ignored if the application has already been put to sleep.
  762.      To wake the application up, use the ACTIVATE command.
  763.  
  764. `Result:'
  765.      -
  766.  
  767. `Warning:'
  768.      -
  769.  
  770. `Example:'
  771.           /* Iconify the program. */
  772.  
  773.           DEACTIVATE
  774.  
  775. The DELAY command
  776. =================
  777.  
  778. `Format:'
  779.      DELAY [MIC|MICROSECONDS <Number>] [[SEC|SECONDS] <Number>]
  780.      [MIN|MINUTES <Number>] [QUIET]
  781.  
  782. `Template:'
  783.      MIC=MICROSECONDS/K/N,SEC=SECONDS/N,MIN=MINUTES/K/N,QUIET/S
  784.  
  785. `Purpose:'
  786.      Delays program execution for a couple of microseconds, seconds and
  787.      minutes.
  788.  
  789. `Specifications:'
  790.      Will cause both the program to make the call and the application
  791.      to wait for a certain period of time. Unless the `QUIET' option is
  792.      in effect will process and display data received from the serial
  793.      line.
  794.  
  795. `Result:'
  796.      -
  797.  
  798. `Warning:'
  799.      If command was aborted before the timeout had elapsed.
  800.  
  801. `Example:'
  802.           /* Wait for five seconds. */
  803.  
  804.           DELAY 5
  805.  
  806.           /* Wait for one second and seven microseconds. */
  807.  
  808.           DELAY MIC 7 SEC 5
  809.  
  810. The DIAL command
  811. ================
  812.  
  813. `Format:'
  814.      DIAL [WAIT|SYNC] [[Num] <Phone number>]
  815.  
  816. `Template:'
  817.      WAIT=SYNC/S,NUM/F
  818.  
  819. `Purpose:'
  820.      Dials the provided phone number. If no phone number was given,
  821.      will dial the numbers and phone book entries stored in the dial
  822.      list.
  823.  
  824. `Specifications:'
  825.      This command will build a dialing list from the available sources
  826.      and pass it to the dialing function which is to schedule the
  827.      dialing process and perform any login-actions. Available sources
  828.      are the `Num' parameter which will cause the command to dial only
  829.      this single number or the dial list whose contents will be used if
  830.      the `Num' parameter is omitted.
  831.  
  832.      If the `WAIT' parameter is used the command will wait until a
  833.      connection is made. If the parameter is not use this command will
  834.      return as soon as the dialing process has been initiated.
  835.  
  836. `Result:'
  837.      -
  838.  
  839. `Warning:'
  840.      If no connection was to be made.
  841.  
  842. `Example:'
  843.           /* Dial a single phone number. */
  844.  
  845.           DIAL 424242
  846.  
  847.           /* Wait a bit and abort the dialing process. */
  848.  
  849.           DELAY 5
  850.           CLOSEREQUESTER
  851.  
  852.           /* Clear the dialing list, then add all the phonebook entries
  853.            * to the list.
  854.            */
  855.  
  856.           CLEAR FROM dial
  857.           ADDITEM TO dial PHONE #?
  858.  
  859.           /* Dial the dial list. */
  860.  
  861.           DIAL WAIT
  862.  
  863.           /* Did we get a connection? */
  864.  
  865.           IF RC == 0 THEN SEND TEXT "Ack!\r"
  866.  
  867. The DUPLEX command
  868. ==================
  869.  
  870. `Format:'
  871.      DUPLEX [Full|Half|Echo]
  872.  
  873. `Template:'
  874.      FULL/S,HALF=ECHO/S
  875.  
  876. `Purpose:'
  877.      Sets the serial line duplex mode.
  878.  
  879. `Specifications:'
  880.      Sets the serial line duplex mode, this can be either full duplex
  881.      or half duplex (local echo).
  882.  
  883. `Result:'
  884.      Returns the old duplex value.
  885.  
  886. `Warning:'
  887.      -
  888.  
  889. `Example:'
  890.           /* Enable local terminal echo. */
  891.  
  892.           DUPLEX ECHO
  893.  
  894. The EXECTOOL command
  895. ====================
  896.  
  897. `Format:'
  898.      EXECTOOL [Console] [Async] [Port] [Command] <File name>
  899.  
  900. `Template:'
  901.      CONSOLE/S,ASYNC/S,PORT/S,COMMAND/A/F
  902.  
  903. `Purpose:'
  904.      Executes a program.
  905.  
  906. `Specifications:'
  907.      Will load and execute an AmigaDOS program. The `Console' parameter
  908.      will cause an output file or window to be opened, the `Async'
  909.      parameter will cause the command to return as soon as the
  910.      execution process has been launched. The `Port' parameter will
  911.      cause the current ARexx host port name to be passed to the tool on
  912.      the command line.
  913.  
  914. `Result:'
  915.      -
  916.  
  917. `Warning:'
  918.      -
  919.  
  920. `Example:'
  921.           /* Launch the `Dir' command. */
  922.  
  923.           EXECTOOL CONSOLE COMMAND 'dir c:'
  924.  
  925. The FAULT command
  926. =================
  927.  
  928. `Format:'
  929.      FAULT [Code] <Error code>
  930.  
  931. `Template:'
  932.      CODE/A/N
  933.  
  934. `Purpose:'
  935.      Returns the descriptive text associated with an error code as
  936.      returned by `term'.
  937.  
  938. `Specifications:'
  939.      `term' will return error codes in the `term.lasterror' variable.
  940.      In order to get the descriptive text associated with an error
  941.      code, use this command.  All internal Rexx and AmigaDOS errors
  942.      codes are supported as well as the error codes special to `term'.
  943.  
  944. `Result:'
  945.      The error description associated with the error code.
  946.  
  947. `Warning:'
  948.      -
  949.  
  950. `Example:'
  951.           /* Enable command results. */
  952.  
  953.           OPTIONS RESULTS
  954.  
  955.           /* Get the text associated with error #1001. */
  956.  
  957.           FAULT 1001
  958.  
  959.           /* Output the result. */
  960.  
  961.           SAY result
  962.  
  963. The GETATTR command
  964. ===================
  965.  
  966. `Format:'
  967.      GETATTR [Object] <Name> [Field] <Name> [Stem <Name>] [Var <Name>]
  968.  
  969. `Template:'
  970.      OBJECT/A,FIELD,STEM/K,VAR/K
  971.  
  972. `Purpose:'
  973.      Obtains information on an application attribute.
  974.  
  975. `Specifications:'
  976.      Obtains information on an object, if possible will store it in the
  977.      `result' variable. If a stem or simple variable name is given
  978.      using the `Stem' or `Var' parameters will store the information in
  979.      this variable.  If no `Field' parameter is given, will store the
  980.      entire object contents which requires that the `Stem' parameter is
  981.      given. For a list of valid attributes see the section entitled
  982.      Attributes.
  983.  
  984. `Result:'
  985.      Returns information either in `result' variable or in the supplied
  986.      `Stem' or `Var' variable.
  987.  
  988. `Warning:'
  989.      -
  990.  
  991. `Example:'
  992.           /* Enable command results. */
  993.  
  994.           OPTIONS RESULTS
  995.  
  996.           /* Query the name of the ARexx host we are communicating with. */
  997.  
  998.           GETATTR OBJECT term FIELD arexx
  999.  
  1000.           /* Output the result. */
  1001.  
  1002.           SAY result
  1003.  
  1004.           /* Same as above, but using a different syntax. */
  1005.  
  1006.           GETATTR term.arexx
  1007.           SAY result
  1008.  
  1009.           /* Store the entire contents of the phone book in a
  1010.            * stem variable.
  1011.            */
  1012.  
  1013.           GETATTR phonebook STEM book
  1014.  
  1015.           /* Output the phonebook contents. */
  1016.  
  1017.           SAY 'phone book contains' book.count 'entries'
  1018.  
  1019.           DO i = 0 TO book.count - 1
  1020.              SAY 'entry #' i
  1021.  
  1022.              SAY 'name    :' book.i.name
  1023.              SAY 'number  :' book.i.number
  1024.              SAY 'comment :' book.i.commenttext
  1025.              SAY 'username:' book.i.username
  1026.           END i
  1027.  
  1028. The GETCLIP command
  1029. ===================
  1030.  
  1031. `Format:'
  1032.      GETCLIP [Unit <Number>]
  1033.  
  1034. `Template:'
  1035.      UNIT/K/N
  1036.  
  1037. `Purpose:'
  1038.      Retrieves the contents of the clipboard.
  1039.  
  1040. `Specifications:'
  1041.      Obtains the contents of the clipboard and returns it in the
  1042.      `result' variable. Will optionally read from the given clipboard
  1043.      unit, but uses the unit number selected in the application
  1044.      settings by default. *Note that a string returned can be up to
  1045.      65,536 characters long!*
  1046.  
  1047. `Result:'
  1048.      Contents of the clipboard if it contains any text.
  1049.  
  1050. `Warning:'
  1051.      If clipboard does not contain any text.
  1052.  
  1053. `Example:'
  1054.           /* Enable command results. */
  1055.  
  1056.           OPTIONS RESULTS
  1057.  
  1058.           /* Get the primary clipboard contents. */
  1059.  
  1060.           GETCLIP
  1061.  
  1062.           /* Output the contents. */
  1063.  
  1064.           IF rc ~= 0 THEN
  1065.              SAY 'clipboard does not contain any text'
  1066.           ELSE
  1067.              SAY result
  1068.  
  1069. The GOONLINE command
  1070. ====================
  1071.  
  1072. `Format:'
  1073.      GOONLINE
  1074.  
  1075. `Template:'
  1076.      ,
  1077.  
  1078. `Purpose:'
  1079.      Cause `term' to go into online state.
  1080.  
  1081. `Specifications:'
  1082.      After this command is processed `term' will immediately go into
  1083.      online state. If the carrier signal is to be checked and no signal
  1084.      is present `term' will drop into offline state right away.
  1085.  
  1086. `Result:'
  1087.      -
  1088.  
  1089. `Warning:'
  1090.      -
  1091.  
  1092. `Example:'
  1093.           /* Go into online state. */
  1094.  
  1095.           GOONLINE
  1096.  
  1097. The HANGUP command
  1098. ==================
  1099.  
  1100. `Format:'
  1101.      HANGUP
  1102.  
  1103. `Template:'
  1104.      ,
  1105.  
  1106. `Purpose:'
  1107.      Hang up the serial line.
  1108.  
  1109. `Specifications:'
  1110.      Hangs up the serial line, executes logoff and cleanup operations.
  1111.  
  1112. `Result:'
  1113.      -
  1114.  
  1115. `Warning:'
  1116.      -
  1117.  
  1118. `Example:'
  1119.           /* Hang up the line, whether the program is online or not. */
  1120.  
  1121.           HANGUP
  1122.  
  1123. The HELP command
  1124. ================
  1125.  
  1126. `Format:'
  1127.      HELP [[Command] <Name>] [Prompt]
  1128.  
  1129. `Template:'
  1130.      COMMAND,PROMPT/S
  1131.  
  1132. `Purpose:'
  1133.      Returns the template of a command or invokes the online help
  1134.      system.
  1135.  
  1136. `Specifications:'
  1137.      This command will either return the template associated with a
  1138.      `term' ARexx command specified using the `Command' parameter or
  1139.      invoke the AmigaGuide(tm) help system.
  1140.  
  1141. `Result:'
  1142.      Command template if requested.
  1143.  
  1144. `Warning:'
  1145.      -
  1146.  
  1147. `Example:'
  1148.           /* Enable command results. */
  1149.  
  1150.           OPTIONS RESULTS
  1151.  
  1152.           /* Query the template associated with the `selectitem' command. */
  1153.  
  1154.           HELP selectitem
  1155.  
  1156.           /* Output the result. */
  1157.  
  1158.           SAY result
  1159.  
  1160.           /* Invoke the online help. */
  1161.  
  1162.           HELP PROMPT
  1163.  
  1164. The OPEN command
  1165. ================
  1166.  
  1167. `Format:'
  1168.      OPEN [Name <File name>] [TO] <Translations|Functionkeys|Cursorkeys|
  1169.      Fastmacros|Hotkeys|Speech|Sound|Buffer|Configuration|Phone>
  1170.  
  1171. `Template:'
  1172.      NAME/K,TO/A
  1173.  
  1174. `Purpose:'
  1175.      Reads data from a disk file.
  1176.  
  1177. `Specifications:'
  1178.      This command reads the contents of a disk file and stores the
  1179.      information either in the configuration, the phone book or the
  1180.      text buffer. If text is read into the text buffer it will be
  1181.      appended to the existing text. If no file name is given will
  1182.      prompt the user to select a file.
  1183.  
  1184. `Result:'
  1185.      -
  1186.  
  1187. `Warning:'
  1188.      If user was requested to select a file and cancelled the selection.
  1189.  
  1190. `Example:'
  1191.           /* Load the configuration from a file. */
  1192.  
  1193.           OPEN NAME 'ram:term.prefs' TO configuration
  1194.  
  1195.           /* Add text to the text buffer. */
  1196.  
  1197.           OPEN TO buffer
  1198.  
  1199. The OPENDEVICE command
  1200. ======================
  1201.  
  1202. `Format:'
  1203.      OPENDEVICE [Name <Device name>] [Unit <Number>]
  1204.  
  1205. `Template:'
  1206.      NAME/K,UNIT/K/N
  1207.  
  1208. `Purpose:'
  1209.      (Re-)Opens the serial device driver.
  1210.  
  1211. `Specifications:'
  1212.      (Re-)Opens the previously released (see CLOSEDEVICE command) device
  1213.      driver or a different device driver/unit if the corresponding
  1214.      `Device' and `Unit' parameters are given.
  1215.  
  1216. `Result:'
  1217.      Returns the old device name and unit number.
  1218.  
  1219. `Warning:'
  1220.      -
  1221.  
  1222. `Example:'
  1223.           /* Request command results. */
  1224.           options results
  1225.  
  1226.           /* Release the serial device driver. */
  1227.  
  1228.           CLOSEDEVICE
  1229.  
  1230.           /* Open a different device driver. */
  1231.  
  1232.           OPENDEVICE DEVICE 'duart.device' UNIT 5
  1233.  
  1234.           /* Tell the name of the old device driver,
  1235.            * and unit number, e.g. "serial.device/0"
  1236.            */
  1237.  
  1238.           say RESULT
  1239.  
  1240. The OPENREQUESTER command
  1241. =========================
  1242.  
  1243. `Format:'
  1244.      OPENREQUESTER [REQUESTER]
  1245.      <Serial|Modem|Screen|Terminal|Emulation|Clipboard|
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.      Capture|Commands|Misc|Path|Transfer|Translations|Functionkeys|Cursorkeys|
  1253.      Fastmacros|Hotkeys|Speech|Sound|Phone>
  1254.  
  1255. `Template:'
  1256.      REQUESTER/A
  1257.  
  1258. `Purpose:'
  1259.      Opens a requester window.
  1260.  
  1261. `Specifications:'
  1262.      Opens a requester window. Only a single window can be open at a
  1263.      time.  The window opened can be closed using the CLOSEREQUESTER
  1264.      command.
  1265.  
  1266. `Result:'
  1267.      -
  1268.  
  1269. `Warning:'
  1270.      -
  1271.  
  1272. `Example:'
  1273.           /* Open the phonebook window. */
  1274.  
  1275.           OPENREQUESTER phone
  1276.  
  1277. The PARITY command
  1278. ==================
  1279.  
  1280. `Format:'
  1281.      PARITY [Even|Odd|None|Mark|Space]
  1282.  
  1283. `Template:'
  1284.      EVEN/S,ODD/S,NONE/S,MARK/S,SPACE/S
  1285.  
  1286. `Purpose:'
  1287.      Sets the serial line parity mode.
  1288.  
  1289. `Specifications:'
  1290.      Sets the serial line parity mode.
  1291.  
  1292. `Result:'
  1293.      Returns the old parity mode.
  1294.  
  1295. `Warning:'
  1296.      -
  1297.  
  1298. `Example:'
  1299.           /* Set the parity mode. */
  1300.  
  1301.           PARITY NONE
  1302.  
  1303. The PASTECLIP command
  1304. =====================
  1305.  
  1306. `Format:'
  1307.      PASTECLIP [Unit <Number>]
  1308.  
  1309. `Template:'
  1310.      UNIT/K/N
  1311.  
  1312. `Purpose:'
  1313.      Feed the contents of the clipboard into the input stream.
  1314.  
  1315. `Specifications:'
  1316.      Feeds the contents of the clipboard into the input stream. Obtains
  1317.      the data either from the given clipboard unit or from the default
  1318.      unit configured in the program settings.
  1319.  
  1320. `Result:'
  1321.      -
  1322.  
  1323. `Warning:'
  1324.      If clipboard does not contain any text.
  1325.  
  1326. `Example:'
  1327.           /* Paste the contents of clipboard #2. */
  1328.  
  1329.           PASTECLIP UNIT 2
  1330.  
  1331. The PRINT command
  1332. =================
  1333.  
  1334. `Format:'
  1335.      PRINT [From]
  1336.      <Screentext|Clipboard|Buffer|Dial|Wait|Upload|Download> [TO <File
  1337.      name>] [Serial|Modem|Screen|Terminal|User|Comment| Size|Date|Attr]
  1338.  
  1339. `Template:'
  1340.      FROM/A,TO/K,SERIAL/S,MODEM/S,SCREEN/S,TERMINAL/S,USER/S,
  1341.      COMMENT/S,SIZE/S,DATE/S,ATTR/S
  1342.  
  1343. `Purpose:'
  1344.      Prints the contents of the screen, the clipboard, the textbuffer
  1345.      or one of the lists.
  1346.  
  1347. `Specifications:'
  1348.      Outputs the contents of the screen, the clipboard, the textbuffer
  1349.      or one of the lists (see ADDITEM command) to a file or the
  1350.      printer. If the `To' parameter is omitted, will output the data to
  1351.      the printer. The parameters `Serial' through `Attr' control what
  1352.      will be printed:
  1353.     `Screentext, Clipboard, Buffer, Wait list'
  1354.           Options have no effect on the output.
  1355.  
  1356.     `Dial list'
  1357.           Responds to the `Serial', `Modem', `Screen', `Terminal',
  1358.           `User' and `Comment' parameters. The printout will contain
  1359.           information on the corresponding settings.
  1360.  
  1361.     `Upload list, Download list'
  1362.           Responds to the `Comment', `Size', `Date' and `Attr'
  1363.           parameters. The printout will contain information on the
  1364.           corresponding file attributes. *Note: if any of these
  1365.           parameters are given, only the base file names will be
  1366.           printed along with the corresponding information.*
  1367.  
  1368. `Result:'
  1369.      -
  1370.  
  1371. `Warning:'
  1372.      If user cancelled print operation.
  1373.  
  1374. `Example:'
  1375.           /* Clear the dialing list, then add the entire phone book to it. */
  1376.  
  1377.           CLEAR dial
  1378.           additem to dial phone #?
  1379.  
  1380.           /* Send the contents of the dial list to a disk file. */
  1381.  
  1382.           PRINT FROM dial TO 'ram:phonebook' SERIAL MODEM SCREEN...
  1383.           ...TERMINAL USER COMMENT
  1384.  
  1385. The PROCESSIO command
  1386. =====================
  1387.  
  1388. `Format:'
  1389.      PROCESSIO <On|Off>
  1390.  
  1391. `Template:'
  1392.      ON/S,OFF/S
  1393.  
  1394. `Purpose:'
  1395.      Turns serial I/O processing on or off.
  1396.  
  1397. `Specifications:'
  1398.      Usually, the `term' main program processes incoming data from the
  1399.      serial line, i.e. text is displayed in the terminal window or data
  1400.      transfers are started. This can interfere with custom I/O
  1401.      processing, such as done by an ARexx program which wants to
  1402.      receive and process all incoming serial data, without getting
  1403.      interrupted by the main program. For an application example see
  1404.      WAIT.
  1405.  
  1406. `Result:'
  1407.      Returns the old PROCESSIO value.
  1408.  
  1409. `Warning:'
  1410.      -
  1411.  
  1412. `Example:'
  1413.           /* Turn off I/O processing. */
  1414.  
  1415.           PROCESSIO OFF
  1416.  
  1417. The PROTOCOL command
  1418. ====================
  1419.  
  1420. `Format:'
  1421.      PROTOCOL [None|RTSCTS|RTSCTSDTR]
  1422.  
  1423. `Template:'
  1424.      NONE/S,RTSCTS/S,RTSCTSDTR/S
  1425.  
  1426. `Purpose:'
  1427.      Sets the serial line handshaking protocol.
  1428.  
  1429. `Specifications:'
  1430.      Sets the serial line handshaking protocol. See the main program
  1431.      documentation for details.
  1432.  
  1433. `Result:'
  1434.      Returns the old protocol mode.
  1435.  
  1436. `Warning:'
  1437.      -
  1438.  
  1439. `Example:'
  1440.           /* Set the handshaking protocol. */
  1441.  
  1442.           PROTOCOL NONE
  1443.  
  1444. The PUTCLIP command
  1445. ===================
  1446.  
  1447. `Format:'
  1448.      PUTCLIP [Unit <Unit>] [TEXT] <Text to store>
  1449.  
  1450. `Template:'
  1451.      UNIT/K/N,TEXT/A/F
  1452.  
  1453. `Purpose:'
  1454.      Stores text in the clipboard.
  1455.  
  1456. `Specifications:'
  1457.      Stores the provided text in the clipboard. Will store it in the
  1458.      given clipboard unit if the `Unit' parameter is given. Will use
  1459.      the unit number configured in the program settings otherwise.
  1460.  
  1461. `Result:'
  1462.      -
  1463.  
  1464. `Warning:'
  1465.      -
  1466.  
  1467. `Example:'
  1468.           /* Store a short string in the clipboard. Note: can
  1469.            * only be up to 65,536 characters long.
  1470.            */
  1471.  
  1472.           PUTCLIP 'hello sailor!'
  1473.  
  1474. The QUIT command
  1475. ================
  1476.  
  1477. `Format:'
  1478.      QUIT [Force]
  1479.  
  1480. `Template:'
  1481.      FORCE/S
  1482.  
  1483. `Purpose:'
  1484.      Terminates the application.
  1485.  
  1486. `Specifications:'
  1487.      Terminates program execution, will ask for a confirmation to leave
  1488.      unless the `Force' parameter is used. *Caution: this command may
  1489.      fail if there are still output windows open on the `term' screen.*
  1490.  
  1491. `Result:'
  1492.      -
  1493.  
  1494. `Warning:'
  1495.      If user did not confirm termination.
  1496.  
  1497. `Example:'
  1498.           /* Try to terminate the program, ask for confirmation. */
  1499.  
  1500.           QUIT
  1501.  
  1502.           /* If no confirmation was given terminate by force. */
  1503.  
  1504.           IF rc ~= 0 THEN QUIT FORCE
  1505.  
  1506. The READ command
  1507. ================
  1508.  
  1509. `Format:'
  1510.      READ [Num <Number of bytes>] [CR] [Noecho] [Verbatim] [Timeout
  1511.      <Seconds>] [Terminator <Character>] [[Prompt] <Prompt text>]
  1512.  
  1513. `Template:'
  1514.  
  1515.      NUM/K/N,CR/S,NOECHO/S,VERBATIM/S,TIMEOUT/K/N,TERMINATOR/K,PROMPT/K/F
  1516.  
  1517. `Purpose:'
  1518.      Reads a number of bytes or a string from the serial line.
  1519.  
  1520. `Specifications:'
  1521.      If `Num' parameter is given will read a number of bytes from the
  1522.      serial line (*note: only a maximum of 65,536 bytes can be read*).
  1523.      The command will return when the read request has been satisfied,
  1524.      the timeout (settable using the TIMEOUT command) has elapsed or
  1525.      the command was aborted.
  1526.  
  1527.      If the `CR' parameter is given will handle simple line editing
  1528.      functions (`Backspace', `Control-X') and return a string as soon
  1529.      as the `Carriage return' key is pressed, the timeout (settable
  1530.      using the TIMEOUT command) has elapsed or the command is aborted.
  1531.  
  1532.      The `Noecho' parameter will cause `term' not to echo typed
  1533.      characters back to the remote. *Note that in order to see any
  1534.      input on the local side the remote is to echo the characters typed
  1535.      back.*
  1536.  
  1537.      With the `Timeout' parameter you can override the global timeout
  1538.      value (settable using the TIMEOUT command) for this command.
  1539.  
  1540.      The `Terminator' parameter tells the command to stop when finding
  1541.      the given character in the input stream. For example, `TERMINATOR
  1542.      "\n"' would tell the command to stop when finding the line feed
  1543.      character in the input stream.
  1544.  
  1545.      If present, the `Prompt' text will be sent across the serial line,
  1546.      much the same as if it had been sent using the SEND command.
  1547.  
  1548.      This command pays attention to the current character translation
  1549.      table for incoming characters. If the characters are to be read
  1550.      without any changes made one has to use the `Verbatim' parameter.
  1551.  
  1552. `Result:'
  1553.      The string read.
  1554.  
  1555. `Warning:'
  1556.      If command was cancelled, no input was made or, if the `CR'
  1557.      parameter is used, the timeout elapsed.
  1558.  
  1559. `Example:'
  1560.           /* Enable command results. */
  1561.  
  1562.           OPTIONS RESULTS
  1563.  
  1564.           /* Set the read timeout to five seconds. */
  1565.  
  1566.           TIMEOUT 5
  1567.  
  1568.           /* Read seven bytes. */
  1569.  
  1570.           READ NUM 7
  1571.  
  1572.           /* Output the result. */
  1573.  
  1574.           IF rc ~= 0 THEN
  1575.              SAY 'no data was read'
  1576.           ELSE
  1577.              SAY result
  1578.  
  1579.           /* Wait up to eight seconds to eight bytes to arrive. */
  1580.  
  1581.           READ TIMEOUT 8 NUM 8
  1582.  
  1583.           /* Turn the timeout off. */
  1584.  
  1585.           TIMEOUT OFF
  1586.  
  1587.           /* Prompt for input. */
  1588.  
  1589.           READ CR PROMPT 'Enter a line of text:'
  1590.  
  1591.           /* Output the result. */
  1592.  
  1593.           IF rc ~= 0 THEN
  1594.              SAY 'no input was made'
  1595.           ELSE
  1596.              SAY result
  1597.  
  1598. The RECEIVEFILE command
  1599. =======================
  1600.  
  1601. `Format:'
  1602.      RECEIVEFILE [Mode <ASCII|Text|Binary>] [Name <File name>]
  1603.  
  1604. `Template:'
  1605.      MODE/K,NAME/K
  1606.  
  1607. `Purpose:'
  1608.      Receive one or more files using the XPR protocol.
  1609.  
  1610. `Specifications:'
  1611.      Receives one or more files using the currently configured XPR
  1612.      protocol.  The `Mode' parameter determines the file transfer mode
  1613.      (either plain ASCII, Text mode or binary file mode), if omitted
  1614.      the file(s) will be received in binary mode. Some file transfer
  1615.      protocols do not require any file names to be given as they have
  1616.      their own means to determine the names of the files to be
  1617.      received. However, a file name parameter can be given. If omitted
  1618.      the file transfer protocol will prompt the user for a file name if
  1619.      necessary.
  1620.  
  1621.      The names of all files received are placed on the download list
  1622.      for processing. The list will be cleared before the transfer is
  1623.      started.
  1624.  
  1625. `Result:'
  1626.      -
  1627.  
  1628. `Warning:'
  1629.      If user cancelled file selection.
  1630.  
  1631. `Example:'
  1632.           /* Start to receive a file in text mode. */
  1633.  
  1634.           RECEIVEFILE MODE text
  1635.  
  1636. The REDIAL command
  1637. ==================
  1638.  
  1639. `Format:'
  1640.      REDIAL
  1641.  
  1642. `Template:'
  1643.      ,
  1644.  
  1645. `Purpose:'
  1646.      Redials the numbers remaining in the currently configured dialing
  1647.      list.
  1648.  
  1649. `Specifications:'
  1650.      Redials the numbers which still remain in the dialing list built
  1651.      either by the phone book or by the DIAL command. *Note that this
  1652.      command will return as soon as the dialing process is initiated.*
  1653.  
  1654. `Result:'
  1655.      -
  1656.  
  1657. `Warning:'
  1658.      If dialing list is empty.
  1659.  
  1660. `Example:'
  1661.           /* Redial the list. */
  1662.  
  1663.           REDIAL
  1664.  
  1665.           /* Successful? */
  1666.  
  1667.           IF rc ~= 0 THEN SAY 'dialing list is empty'
  1668.  
  1669. The REMITEM command
  1670. ===================
  1671.  
  1672. `Format:'
  1673.      REMITEM [From] <Upload|Download|Dial|Wait> [Name <Name or
  1674.      wildcard>]
  1675.  
  1676. `Template:'
  1677.      FROM/A,NAME/K/F
  1678.  
  1679. `Purpose:'
  1680.      Removes one or more items from a list.
  1681.  
  1682. `Specifications:'
  1683.      Removes one or more items from a list. If no `Name' parameter is
  1684.      given will remove the currently selected list item (selectable
  1685.      using the SELECTITEM command). The `Name' parameter can be a
  1686.      proper name or a wildcard pattern.
  1687.  
  1688.      *Note: Cannot remove named items from the dial list.*
  1689.  
  1690. `Result:'
  1691.      -
  1692.  
  1693. `Warning:'
  1694.      If no list item would match the name pattern.
  1695.  
  1696. `Example:'
  1697.           /* Remove the currently selected item from the wait list. */
  1698.  
  1699.           REMITEM FROM wait
  1700.  
  1701.           /* Remove all items from the wait list which end with `z'. */
  1702.  
  1703.           REMITEM FROM wait NAME '#?z'
  1704.  
  1705. The REQUESTFILE command
  1706. =======================
  1707.  
  1708. `Format:'
  1709.      REQUESTFILE [Title <Title text>] [Path <Path name>] [File <File
  1710.      name>] [Pattern <Wildcard pattern>] [Multi] [Stem|Name <Variable
  1711.      name>]
  1712.  
  1713. `Template:'
  1714.      TITLE/K,PATH/K,FILE/K,PATTERN/K,MULTI/S,STEM=NAME/K
  1715.  
  1716. `Purpose:'
  1717.      Requests one or more file names from the user.
  1718.  
  1719. `Specifications:'
  1720.      Requests one or more file names from the user. Will present a file
  1721.      requester with given title text and preset path, file name and
  1722.      pattern values. If only a single file name is to be requested will
  1723.      place the result in the `result' variable. The `Multi' parameter
  1724.      allows multiple files to be selected, the number of files selected
  1725.      and the file names will be placed in the variable specified using
  1726.      the `Stem' parameter.
  1727.  
  1728. `Result:'
  1729.      The name of the file selected will be placed in the `result'
  1730.      variable. If multiple file were selected, will place the following
  1731.      information in the supplied stem variable:
  1732.     `<Variable name>.COUNT'
  1733.           The number of files selected.
  1734.  
  1735.     `<Variable name>.0 through <Variable name>.n-1'
  1736.           The file names selected.
  1737.  
  1738. `Warning:'
  1739.      If user cancelled selection.
  1740.  
  1741. `Example:'
  1742.           /* Enable command results. */
  1743.  
  1744.           OPTIONS RESULTS
  1745.  
  1746.           /* Request a single file name from the user. */
  1747.  
  1748.           REQUESTFILE TITLE '"select a file"'
  1749.  
  1750.           /* Output the result. */
  1751.  
  1752.           IF rc ~= 0 THEN
  1753.              SAY 'no file was selected'
  1754.           ELSE
  1755.              SAY result
  1756.  
  1757.           /* Request several files. */
  1758.  
  1759.           REQUESTFILE TITLE 'select several files' MULTI STEM names
  1760.  
  1761.           /* Output the result. */
  1762.  
  1763.           IF rc ~= 0 THEN
  1764.              SAY 'no files were selected'
  1765.           ELSE DO
  1766.              SAY 'files selected:' names.count
  1767.  
  1768.              DO i = 0 TO names.count - 1
  1769.                 SAY names.i
  1770.              END
  1771.           END
  1772.  
  1773. The REQUESTNOTIFY command
  1774. =========================
  1775.  
  1776. `Format:'
  1777.      REQUESTNOTIFY [Title <Title text>] [Prompt] <Prompt text>
  1778.  
  1779. `Template:'
  1780.      TITLE/K,PROMPT/A/F
  1781.  
  1782. `Purpose:'
  1783.      Notify the user with a message.
  1784.  
  1785. `Specifications:'
  1786.      Opens a requester to notify the user, the prompt text can include
  1787.      line feed characters (`'0A'X'), the user will be able to answer
  1788.      the requester by clicking on a `Continue' button.
  1789.  
  1790. `Result:'
  1791.      -
  1792.  
  1793. `Warning:'
  1794.      -
  1795.  
  1796. `Example:'
  1797.           /* Notify the user. */
  1798.  
  1799.           REQUESTNOTIFY TITLE '"Important information"' ...
  1800.           ...PROMPT 'This message is important'
  1801.  
  1802. The REQUESTNUMBER command
  1803. =========================
  1804.  
  1805. `Format:'
  1806.      REQUESTNUMBER [Default <Default number>] [Prompt <Prompt text>]
  1807.  
  1808. `Template:'
  1809.      DEFAULT/K/N,PROMPT/K/F
  1810.  
  1811. `Purpose:'
  1812.      Requests a numeric value from the user
  1813.  
  1814. `Specifications:'
  1815.      Requests a numeric value from the user, will display the provided
  1816.      prompt text or a default text and present the provided default
  1817.      number, so user can simply hit return to accept the defaults.
  1818.  
  1819. `Result:'
  1820.      The number the has entered.
  1821.  
  1822. `Warning:'
  1823.      If user cancelled requester.
  1824.  
  1825. `Example:'
  1826.           /* Enable command results. */
  1827.  
  1828.           OPTIONS RESULTS
  1829.  
  1830.           /* Requester a single number. */
  1831.  
  1832.           REQUESTNUMBER DEFAULT 42 PROMPT 'Enter the answer'
  1833.  
  1834.           /* Output the result. */
  1835.  
  1836.           IF rc ~= 0 THEN
  1837.              SAY 'no number was entered'
  1838.           ELSE
  1839.              SAY result
  1840.  
  1841. The REQUESTRESPONSE command
  1842. ===========================
  1843.  
  1844. `Format:'
  1845.      REQUESTRESPONSE [Title <Title text>] [Options <Options string>]
  1846.      [Prompt] <Prompt text>
  1847.  
  1848. `Template:'
  1849.      TITLE/K,OPTIONS/K,PROMPT/A/F
  1850.  
  1851. `Purpose:'
  1852.      Request a response from user.
  1853.  
  1854. `Specifications:'
  1855.      Requests a response from the user, uses provided title and prompt
  1856.      text and a number of options. If no options are specified will use
  1857.      `Yes|No' as the defaults.
  1858.  
  1859. `Result:'
  1860.      For `Options' passed as `Yes|Perhaps|No' will return 1 for `Yes',
  1861.      2 for `Perhaps' and return a warning for `No'.
  1862.  
  1863. `Warning:'
  1864.      If user selected negative choice.
  1865.  
  1866. `Example:'
  1867.           /* Enable command results. */
  1868.  
  1869.           OPTIONS RESULTS
  1870.  
  1871.           /* Request a response. */
  1872.  
  1873.           REQUESTRESPONSE PROMPT 'Are you indecisive?' ...
  1874.           ...OPTIONS '"Yes|Don't know|No"'
  1875.  
  1876.           /* Look at the response. */
  1877.  
  1878.           IF rc ~= 0 THEN
  1879.              SAY 'Not indecisive'
  1880.           ELSE DO
  1881.              IF result = 0 THEN
  1882.                 SAY 'Indecisive'
  1883.              ELSE
  1884.                 SAY 'Probably indecisive'
  1885.           END
  1886.  
  1887. The REQUESTSTRING command
  1888. =========================
  1889.  
  1890. `Format:'
  1891.      REQUESTSTRING [Secret] [Default <String>] [Prompt <Text>]
  1892.  
  1893. `Template:'
  1894.      SECRET/S,DEFAULT/K,PROMPT/K/F
  1895.  
  1896. `Purpose:'
  1897.      Requests a string from the user.
  1898.  
  1899. `Specifications:'
  1900.      Requests a string from the user, will display the provided prompt
  1901.      text or a default text and present the provided default string, so
  1902.      user can simply hit return to accept the defaults.
  1903.  
  1904.      If the `Secret' parameter is provided, will not display the
  1905.      characters typed.
  1906.  
  1907. `Result:'
  1908.      The text the user entered.
  1909.  
  1910. `Warning:'
  1911.      If user cancelled the requester.
  1912.  
  1913. `Example:'
  1914.           /* Enable command results. */
  1915.  
  1916.           OPTIONS RESULTS
  1917.  
  1918.           /* Request a secret string. */
  1919.  
  1920.           REQUESTSTRING SECRET DEFAULT '"hello sailor!"' ...
  1921.           ...PROMPT 'Enter secret message'
  1922.  
  1923.           /* Output the result. */
  1924.  
  1925.           IF rc ~= 0 THEN
  1926.              SAY 'no text was entered'
  1927.           ELSE
  1928.              SAY result
  1929.  
  1930. The RESET command
  1931. =================
  1932.  
  1933. `Format:'
  1934.      RESET [Clear][Styles][Text][Timer]
  1935.  
  1936. `Template:'
  1937.      CLEAR/S,STYLES/S,TEXT/S,TIMER/S
  1938.  
  1939. `Purpose:'
  1940.      This is a superset of all the RESET commands.
  1941.  
  1942. `Specifications:'
  1943.      See RESETSTYLES, RESETTEXT, RESETSCREEN, RESETTIMER.
  1944.  
  1945. `Result:'
  1946.      -
  1947.  
  1948. `Warning:'
  1949.      -
  1950.  
  1951. `Example:'
  1952.           /* Reset the terminal screen. */
  1953.  
  1954.           RESET CLEAR
  1955.  
  1956. The RESETSCREEN command
  1957. =======================
  1958.  
  1959. `Format:'
  1960.      RESETSCREEN
  1961.  
  1962. `Template:'
  1963.      ,
  1964.  
  1965. `Purpose:'
  1966.      Resets the terminal screen to defaults.
  1967.  
  1968. `Specifications:'
  1969.      Resets the terminal screen to defaults, this includes clearing the
  1970.      screen, moving the cursor to the home position and resetting text,
  1971.      text rendering styles and colours.
  1972.  
  1973. `Result:'
  1974.      -
  1975.  
  1976. `Warning:'
  1977.      -
  1978.  
  1979. `Example:'
  1980.           /* Reset the terminal screen. */
  1981.  
  1982.           RESETSCREEN
  1983.  
  1984. The RESETSTYLES command
  1985. =======================
  1986.  
  1987. `Format:'
  1988.      RESETSTYLES
  1989.  
  1990. `Template:'
  1991.      ,
  1992.  
  1993. `Purpose:'
  1994.      Resets the text rendering styles to defaults.
  1995.  
  1996. `Specifications:'
  1997.      Resets the text rendering styles to defaults, turning off inverse
  1998.      video, boldface, italics, etc. modes.
  1999.  
  2000. `Result:'
  2001.      -
  2002.  
  2003. `Warning:'
  2004.      -
  2005.  
  2006. `Example:'
  2007.           /* Reset the text rendering styles. */
  2008.  
  2009.           RESETSTYLES
  2010.  
  2011. The RESETTEXT command
  2012. =====================
  2013.  
  2014. `Format:'
  2015.      RESETTEXT
  2016.  
  2017. `Template:'
  2018.      ,
  2019.  
  2020. `Purpose:'
  2021.      Reset the terminal text to defaults.
  2022.  
  2023. `Specifications:'
  2024.      Reset the terminal text to defaults, this includes switching back
  2025.      from graphics text or G1 mode.
  2026.  
  2027. `Result:'
  2028.      -
  2029.  
  2030. `Warning:'
  2031.      -
  2032.  
  2033. `Example:'
  2034.           /* Reset the terminal text. */
  2035.  
  2036.           RESETTEXT
  2037.  
  2038. The RESETTIMER command
  2039. ======================
  2040.  
  2041. `Format:'
  2042.      RESETTIMER
  2043.  
  2044. `Template:'
  2045.      ,
  2046.  
  2047. `Purpose:'
  2048.      Reset the online timer.
  2049.  
  2050. `Specifications:'
  2051.      The online timer is reset to 00:00:00, regardless whether `term'
  2052.      is currently online or not.
  2053.  
  2054. `Result:'
  2055.      -
  2056.  
  2057. `Warning:'
  2058.      -
  2059.  
  2060. `Example:'
  2061.           /* Reset the online timer. */
  2062.  
  2063.           RESETTIMER
  2064.  
  2065. The RX command
  2066. ==============
  2067.  
  2068. `Format:'
  2069.      RX [Console] [Async] [Command] <Command name>
  2070.  
  2071. `Template:'
  2072.      CONSOLE/S,ASYNC/S,COMMAND/A/F
  2073.  
  2074. `Purpose:'
  2075.      Invokes an ARexx macro file.
  2076.  
  2077. `Specifications:'
  2078.      Invokes an ARexx macro file, if `Console' argument specified opens
  2079.      a console output window, else uses `NIL:', if `Async' argument
  2080.      specified executes the macro asynchronously.
  2081.  
  2082. `Result:'
  2083.      -
  2084.  
  2085. `Warning:'
  2086.      -
  2087.  
  2088. `Example:'
  2089.           /* Launch the `term' command shell. */
  2090.  
  2091.           RX CONSOLE ASYNC 'term:cmdshell.term'
  2092.  
  2093. The SAVE command
  2094. ================
  2095.  
  2096. `Format:'
  2097.      SAVE [From] <Translations|Functionkeys|
  2098.      Cursorkeys|Fastmacros|Hotkeys|Speech|
  2099.      Sound|Buffer|Configuration|Phone| Screentext|Screenimage>
  2100.  
  2101. `Template:'
  2102.      FROM/A
  2103.  
  2104. `Purpose:'
  2105.      Saves data to a disk file.
  2106.  
  2107. `Specifications:'
  2108.      Saves data to a disk file, will prompt for a file name to save to.
  2109.      See SAVEAS command for more information.
  2110.  
  2111. `Result:'
  2112.      -
  2113.  
  2114. `Warning:'
  2115.      If user cancels save operation.
  2116.  
  2117. `Example:'
  2118.           /* Save the terminal screen contents to an
  2119.            * IFF-ILBM file.
  2120.            */
  2121.  
  2122.           SAVE FROM screenimage
  2123.  
  2124. The SAVEAS command
  2125. ==================
  2126.  
  2127. `Format:'
  2128.      SAVEAS [Name <File name>] [From]
  2129.      <Translations|Functionkeys|Cursorkeys|
  2130.      Fastmacros|Hotkeys|Speech|Sound|Buffer|
  2131.      Configuration|Phone|Screentext| Screenimage>
  2132.  
  2133. `Template:'
  2134.      NAME/K,FROM/A
  2135.  
  2136. `Purpose:'
  2137.      Saves data to a disk file.
  2138.  
  2139. `Specifications:'
  2140.      Saves data to a disk file, will prompt for a filename to save to
  2141.      if none is provided. Will save either parts of the program
  2142.      configuration or the phone book contents (`Phonebook' parameter),
  2143.      the contents of the terminal screen as plain ASCII text
  2144.      (`Screentext' parameter) or the contents of the terminal screen as
  2145.      an IFF-ILBM-file (`Screenimage' parameter).
  2146.  
  2147. `Result:'
  2148.      -
  2149.  
  2150. `Warning:'
  2151.      If user cancels save operation.
  2152.  
  2153. `Example:'
  2154.           /* Save the program configuration to a file. */
  2155.  
  2156.           SAVEAS NAME 'ram:term.prefs' FROM configuration
  2157.  
  2158. The SELECTITEM command
  2159. ======================
  2160.  
  2161. `Format:'
  2162.      SELECTITEM [Name <Name>] [From] <Upload|Download|Dial|Wait>
  2163.      [Next|Prev|Previous|Top|Bottom]
  2164.  
  2165. `Template:'
  2166.      NAME/K,FROM/A,NEXT/S,PREV=PREVIOUS/S,TOP/S,BOTTOM/S
  2167.  
  2168. `Purpose:'
  2169.      Select an item from a list.
  2170.  
  2171. `Specifications:'
  2172.      Selects an item from a list, returns the item name in the `result'
  2173.      variable. The `Top' parameter will select the first list item,
  2174.      `Bottom' the last item. The `Previous' parameter will select the
  2175.      previous list item, `Next' the next successive item. Instead of
  2176.      using a positioning parameter, it is also possible to use a
  2177.      wildcard pattern or name with the `Name' parameter. The first list
  2178.      item to match the name will be selected.
  2179.  
  2180.      *Note: cannot be used with the dial list.*
  2181.  
  2182. `Result:'
  2183.      Returns the list item in the `result' variable.
  2184.  
  2185. `Warning:'
  2186.      If end of list reached.
  2187.  
  2188. `Example:'
  2189.           /* Enable command results. */
  2190.  
  2191.           OPTIONS RESULTS
  2192.  
  2193.           /* Output the contents of the download list. */
  2194.  
  2195.           SELECTITEM FROM download TOP
  2196.  
  2197.           DO WHILE rc = 0
  2198.              SAY result
  2199.              SELECTITEM FROM download NEXT
  2200.           END
  2201.  
  2202. The SEND command
  2203. ================
  2204.  
  2205. `Format:'
  2206.      SEND [Noecho] [Local] [Literal] [Byte <ASCII code>] [Text] <Text>
  2207.  
  2208. `Template:'
  2209.      NOECHO/S,LOCAL/S,LITERAL/S,BYTE/K/N,TEXT/A/F
  2210.  
  2211. `Purpose:'
  2212.      Sends the provided text to the serial line, executes embedded
  2213.      command sequences.
  2214.  
  2215. `Specifications:'
  2216.      Sends the provided text to the serial line, executes embedded
  2217.      command sequences (see main program documentation). To send a
  2218.      single byte, use the `Byte' parameter. The `Noecho' parameter will
  2219.      suppress terminal output. The `Local' parameter will cause the
  2220.      text to be output only locally in the terminal window, it will not
  2221.      be sent across the serial line. The `Literal' parameter keeps
  2222.      `term' from interpreting any special characters, such as `\r', in
  2223.      the text to send and just transmits the text you passed in.
  2224.  
  2225. `Result:'
  2226.      -
  2227.  
  2228. `Warning:'
  2229.      -
  2230.  
  2231. `Example:'
  2232.           /* Send some text to the serial line. */
  2233.  
  2234.           SEND 'This is some text.\r\n'
  2235.  
  2236.           /* Send a single byte (a null) to the serial line. */
  2237.  
  2238.           SEND BYTE 0
  2239.  
  2240.           /* Execute an embedded command (send a break signal). */
  2241.  
  2242.           SEND '\x'
  2243.  
  2244. The SENDBREAK command
  2245. =====================
  2246.  
  2247. `Format:'
  2248.      SENDBREAK
  2249.  
  2250. `Template:'
  2251.      ,
  2252.  
  2253. `Purpose:'
  2254.      Send a break signal across the serial line.
  2255.  
  2256. `Specifications:'
  2257.      Send a break signal across the serial line.
  2258.  
  2259. `Result:'
  2260.      -
  2261.  
  2262. `Warning:'
  2263.      -
  2264.  
  2265. `Example:'
  2266.           /* Send a break signal. */
  2267.  
  2268.           SENDBREAK
  2269.  
  2270. The SENDFILE command
  2271. ====================
  2272.  
  2273. `Format:'
  2274.      SENDFILE [Mode <ASCII|Text|Binary>] [Names] {File names}
  2275.  
  2276. `Template:'
  2277.      MODE/K,NAMES/M
  2278.  
  2279. `Purpose:'
  2280.      Transfers files using the currently selected file transfer
  2281.      protocol.
  2282.  
  2283. `Specifications:'
  2284.      Transfers one or more files using the currently configured XPR
  2285.      protocol.  The `Mode' parameter determines the file transfer mode
  2286.      (either plain ASCII, Text mode or binary file mode), if omitted
  2287.      the file(s) will be sent in binary mode. Some file transfer
  2288.      protocols do not require any file names to be given as they have
  2289.      their own means to determine the names of the files to be sent.
  2290.      However, a file name parameter can be given. If omitted the file
  2291.      transfer protocol will prompt the user for a file name if
  2292.      necessary. Several file names can be given if necessary, they will
  2293.      be transferred along with the file names stored in the upload
  2294.      list. The file transfer process will remove any files successfully
  2295.      transferred from the upload list, leaving only those behing which
  2296.      were not to be transferred correctly.
  2297.  
  2298.      Files whose names do not include a fully qualified path name are
  2299.      expected to reside in the default upload directory as specified in
  2300.      the main program paths settings.
  2301.  
  2302. `Result:'
  2303.      -
  2304.  
  2305. `Warning:'
  2306.      If user cancels file selection.
  2307.  
  2308. `Example:'
  2309.           /* Prompt for files to be uploaded. */
  2310.  
  2311.           SENDFILE
  2312.  
  2313.           /* Send a single file. */
  2314.  
  2315.           SENDFILE 'c:list'
  2316.  
  2317.           /* Clear the upload list, add a single file name. */
  2318.  
  2319.           CLEAR upload
  2320.           ADDITEM TO upload NAME 'c:dir'
  2321.  
  2322.           /* Transfer the file. */
  2323.  
  2324.           SENDFILE
  2325.  
  2326. The SETATTR command
  2327. ===================
  2328.  
  2329. `Format:'
  2330.      SETATTR [Object] <Name> [Field] <Name> [Stem <Name>] [Var <Name>]
  2331.  
  2332. `Template:'
  2333.      OBJECT/A,FIELD,STEM/K,VAR
  2334.  
  2335. `Purpose:'
  2336.      Sets a certain application attribute.
  2337.  
  2338. `Specifications:'
  2339.      Sets a certain application attribute, retrieves the information
  2340.      from the supplied stem or simple variable. For a list of valid
  2341.      attributes, see the section entitled Attributes.
  2342.  
  2343. `Result:'
  2344.      -
  2345.  
  2346. `Warning:'
  2347.      -
  2348.  
  2349. `Example:'
  2350.           /* Set the transfer speed. */
  2351.  
  2352.           SETATTR serialprefs baudrate 2400
  2353.  
  2354. The SPEAK command
  2355. =================
  2356.  
  2357. `Format:'
  2358.      SPEAK [Text] <Text>
  2359.  
  2360. `Template:'
  2361.      TEXT/A/F
  2362.  
  2363. `Purpose:'
  2364.      Speaks the provided text using the Amiga speech synthesizer.
  2365.  
  2366. `Specifications:'
  2367.      Speaks the provided text using the Amiga speech synthesizer,
  2368.      requires that speech support is enabled.
  2369.  
  2370. `Result:'
  2371.      -
  2372.  
  2373. `Warning:'
  2374.      -
  2375.  
  2376. `Example:'
  2377.           /* Say something sensible. */
  2378.  
  2379.           SPEAK 'something sensible'
  2380.  
  2381. The STOPBITS command
  2382. ====================
  2383.  
  2384. `Format:'
  2385.      STOPBITS [0|1]
  2386.  
  2387. `Template:'
  2388.      0/S,1/S
  2389.  
  2390. `Purpose:'
  2391.      Sets the serial line stop bits.
  2392.  
  2393. `Specifications:'
  2394.      Sets the serial line stop bits.
  2395.  
  2396. `Result:'
  2397.      Returns the old number of stop bits.
  2398.  
  2399. `Warning:'
  2400.      -
  2401.  
  2402. `Example:'
  2403.           /* Set the serial line stop bits. */
  2404.  
  2405.           STOPBITS 1
  2406.  
  2407. The TEXTBUFFER command
  2408. ======================
  2409.  
  2410. `Format:'
  2411.      TEXTBUFFER [Lock|Unlock]
  2412.  
  2413. `Template:'
  2414.      LOCK/S,UNLOCK/S
  2415.  
  2416. `Purpose:'
  2417.      Locks or unlocks the text buffer contents.
  2418.  
  2419. `Specifications:'
  2420.      Locks or unlocks the text buffer contents, similar to the effect
  2421.      of the corresponding main menu entry.
  2422.  
  2423. `Result:'
  2424.      -
  2425.  
  2426. `Warning:'
  2427.      -
  2428.  
  2429. `Example:'
  2430.           /* Lock the text buffer. */
  2431.  
  2432.           TEXTBUFFER LOCK
  2433.  
  2434. The TIMEOUT command
  2435. ===================
  2436.  
  2437. `Format:'
  2438.      TIMEOUT [[Sec|Seconds] <Number>] [Off]
  2439.  
  2440. `Template:'
  2441.      SEC=SECONDS/N,OFF/S
  2442.  
  2443. `Purpose:'
  2444.      Sets the serial read timeout.
  2445.  
  2446. `Specifications:'
  2447.      Sets the timeout the WAIT and READ commands will wait until they
  2448.      exit.
  2449.  
  2450. `Result:'
  2451.      -
  2452.  
  2453. `Warning:'
  2454.      -
  2455.  
  2456. `Example:'
  2457.           /* Set the read timeout. */
  2458.  
  2459.           TIMEOUT SEC 5
  2460.  
  2461. The TRAP command
  2462. ================
  2463.  
  2464. `Format:'
  2465.      TRAP <On|Off>
  2466.  
  2467. `Template:'
  2468.      ON/S,OFF/S
  2469.  
  2470. `Purpose:'
  2471.      Turns the trap list processing on or off.
  2472.  
  2473. `Specifications:'
  2474.      This command tells the main program whether it should process
  2475.      entries of the trap list when filtering input or not.
  2476.  
  2477. `Result:'
  2478.      -
  2479.  
  2480. `Warning:'
  2481.      -
  2482.  
  2483. `Example:'
  2484.           /* Ignore the trap list. */
  2485.  
  2486.           TRAP OFF
  2487.  
  2488. The WAIT command
  2489. ================
  2490.  
  2491. `Format:'
  2492.      WAIT [Noecho] [Timeout <Seconds>] [[Text] <Text>]
  2493.  
  2494. `Template:'
  2495.      NOECHO/S,TIMEOUT/K/N,TEXT/F
  2496.  
  2497. `Purpose:'
  2498.      Waits for a certain sequence of characters to be received from the
  2499.      serial line.
  2500.  
  2501. `Specifications:'
  2502.      Wait for text to be received from the serial line. If no text to
  2503.      wait for is provided wait for either item of the wait list to
  2504.      appear. The `Noecho' parameter suppresses terminal output. *Note
  2505.      that text comparison does not consider the case of characters (in
  2506.      respect to the ECMA Latin 1 character set).* As `term' has control
  2507.      over the incoming data stream before and after the `WAIT' command
  2508.      is executed, it may `eat' and process data the `WAIT' command
  2509.      ought to receive. In order to avoid this effect you can use the
  2510.      `PROCESSIO' command (see PROCESSIO). For example, at the beginning
  2511.      of a program you could tell `term' to leave the incoming data
  2512.      stream alone with the `PROCESSIO OFF' command, then invoke the
  2513.      `WAIT' command as needed, and eventually when your program exits
  2514.      allow `term' to process incoming data with the `PROCESSIO ON'
  2515.      command.
  2516.  
  2517.      With the `Timeout' parameter you can override the global timeout
  2518.      value (settable using the TIMEOUT command) for this command.
  2519.  
  2520. `Result:'
  2521.      Returns the string found.
  2522.  
  2523. `Warning:'
  2524.      If timeout has elapsed before any matching text was received.
  2525.  
  2526. `Example:'
  2527.           /* Enable command results. */
  2528.  
  2529.           OPTIONS RESULTS
  2530.  
  2531.           /* Set the read timeout. */
  2532.  
  2533.           TIMEOUT SEC 30
  2534.  
  2535.           /* Wait for a single line of text. */
  2536.  
  2537.           WAIT 'some text'
  2538.  
  2539.           /* Wait up to ten seconds for a single line of text. */
  2540.  
  2541.           WAIT TIMEOUT 10 'some more text'
  2542.  
  2543.           /* Clear the wait list, add a few items. */
  2544.  
  2545.           CLEAR wait
  2546.           ADDITEM TO wait NAME 'foo'
  2547.           ADDITEM TO wait NAME 'bar'
  2548.  
  2549.           /* Wait for the text to appear. */
  2550.  
  2551.           WAIT
  2552.  
  2553.           /* Output the result. */
  2554.  
  2555.           IF rc ~= 0 THEN
  2556.              SAY 'no text was received'
  2557.           ELSE
  2558.              SAY result
  2559.  
  2560. The WINDOW command
  2561. ==================
  2562.  
  2563. `Format:'
  2564.      WINDOW [Names] {<Buffer|Review|Packet|Fastmacros|
  2565.      Status|Main|UploadQueue>} [Open|Close] [Activate] [Min|Max]
  2566.      [Front|Back] [Top|Bottom|Up|Down]
  2567.  
  2568. `Template:'
  2569.      NAMES/A/M,OPEN/S,CLOSE/S,ACTIVATE/S,MIN/S,MAX/S,FRONT/S,BACK/S,
  2570.      TOP/S,BOTTOM/S,UP/S,DOWN/S
  2571.  
  2572. `Purpose:'
  2573.      Manipulates the aspects of a window.
  2574.  
  2575. `Specifications:'
  2576.      Manipulates the aspects of a window. Not all windows will support
  2577.      all available commands. The windows supported are:
  2578.     `Buffer'
  2579.           The text buffer window and screen. Supports the `Open',
  2580.           `Close', `Activate' and `Front' commands.
  2581.  
  2582.     `Review'
  2583.           The review window. Supports the `Open', `Close', `Activate',
  2584.           `Min', `Max', `Front', `Back', `Top', `Bottom', `Up', and
  2585.           `Down' commands.
  2586.  
  2587.     `Packet'
  2588.           The packet window. Supports the `Open', `Close', `Activate',
  2589.           `Min', `Max', `Front' and `Back' commands.
  2590.  
  2591.     `Fastmacros'
  2592.           The fast! macro window. Supports the `Open', `Close',
  2593.           `Activate', `Min', `Max', `Front' and `Back' commands.
  2594.  
  2595.     `Status'
  2596.           The status window. Supports the `Open', `Close', `Activate',
  2597.           `Front' and `Back' commands.
  2598.  
  2599.     `Main'
  2600.           The main program window. Supports the `Open', `Close',
  2601.           `Activate', `Front' and `Back' commands.
  2602.  
  2603. `Result:'
  2604.      -
  2605.  
  2606. `Warning:'
  2607.      -
  2608.  
  2609. `Example:'
  2610.           /* Open all available windows. */
  2611.  
  2612.           WINDOW buffer review packet fastmacros status main OPEN
  2613.  
  2614. Attributes
  2615. **********
  2616.  
  2617.    Several of the application's internal variables are can be accessed
  2618. and modified using the GETATTR and SETATTR commands. Information is
  2619. available on the objects and their associated fields explained below.
  2620. Each line consists of the object and field name and the type of the
  2621. available data:
  2622. `Numeric data'
  2623.     `<Object>.<Field>'
  2624.           Numeric
  2625.  
  2626.      The information is a numeric value.
  2627.  
  2628. `Text data'
  2629.     `<Object>.<Field>'
  2630.           Text
  2631.  
  2632.      The information is a text string.
  2633.  
  2634. `Boolean data'
  2635.     `<Object>.<Field>'
  2636.           Boolean
  2637.  
  2638.      The information is a boolean value and can be `ON' or `OFF'.
  2639.  
  2640. `Mapped codes'
  2641.     `<Object>.<Field>'
  2642.           <Value 1> ... <Value n>
  2643.  
  2644.      The information can be one of the given values.
  2645.  
  2646. The TERM object (read-only)
  2647. ===========================
  2648.  
  2649. `TERM.VERSION'
  2650.      Text
  2651.  
  2652.      The `term' program revision.
  2653.  
  2654. `TERM.SCREEN'
  2655.      Text
  2656.  
  2657.      The name of the public screen the `term' main window has been
  2658.      opened on.
  2659.  
  2660. `TERM.SESSION.ONLINE'
  2661.      Boolean
  2662.  
  2663.      Whether the program is currently online or not.
  2664.  
  2665. `TERM.SESSION.SESSIONSTART'
  2666.      Text
  2667.  
  2668.      Time and date when the `term' program was started.
  2669.  
  2670. `TERM.SESSION.BYTESSENT'
  2671.      Numeric
  2672.  
  2673. `TERM.SESSION.BYTESRECEIVED'
  2674.      Numeric
  2675.  
  2676. `TERM.SESSION.CONNECTMESSAGE'
  2677.      Text
  2678.  
  2679.      The message issued by the modem when the connection was
  2680.      established.
  2681.  
  2682. `TERM.SESSION.BBSNAME'
  2683.      Text
  2684.  
  2685. `TERM.SESSION.BBSNUMBER'
  2686.      Text
  2687.  
  2688. `TERM.SESSION.BBSCOMMENT'
  2689.      Text
  2690.  
  2691. `TERM.SESSION.USERNAME'
  2692.      Text
  2693.  
  2694. `TERM.SESSION.ONLINEMINUTES'
  2695.      Numeric
  2696.  
  2697.      The number of minutes the program is currently connected to a BBS.
  2698.  
  2699. `TERM.SESSION.ONLINECOST'
  2700.      Numeric
  2701.  
  2702.      The cost of the connection to the BBS.
  2703.  
  2704. `TERM.AREXX'
  2705.      Text
  2706.  
  2707.      The name of the ARexx host port the program is communicating with.
  2708.  
  2709. `TERM.LASTERROR'
  2710.      Numeric
  2711.  
  2712.      The code corresponding to the error the last command has caused.
  2713.  
  2714. `TERM.TERMINAL.ROWS'
  2715.      Numeric
  2716.  
  2717.      The number of available terminal screen rows.
  2718.  
  2719. `TERM.TERMINAL.COLUMNS'
  2720.      Numeric
  2721.  
  2722.      The number of available terminal screen columns.
  2723.  
  2724. `TERM.BUFFER.SIZE'
  2725.      Numeric
  2726.  
  2727.      The size of the text buffer.
  2728.  
  2729. The PHONEBOOK object (read-only)
  2730. ================================
  2731.  
  2732.    Available fields are:
  2733. `PHONEBOOK.COUNT'
  2734.      Numeric
  2735.  
  2736.      The number of entries in the phonebook. The single phonebook
  2737.      entries can be accessed as `PHONEBOOK.0...' through
  2738.      `PHONEBOOK.n-1...'.
  2739.  
  2740. `PHONEBOOK.n.NAME'
  2741.      Text
  2742.  
  2743. `PHONEBOOK.n.NUMBER'
  2744.      Text
  2745.  
  2746. `PHONEBOOK.n.COMMENTTEXT'
  2747.      Text
  2748.  
  2749. `PHONEBOOK.n.USERNAME'
  2750.      Text
  2751.  
  2752. `PHONEBOOK.n.PASSWORDTEXT'
  2753.      Text
  2754.  
  2755. The SERIALPREFS object
  2756. ======================
  2757.  
  2758.    Available fields are:
  2759. `SERIALPREFS.BAUDRATE'
  2760.      Numeric
  2761.  
  2762. `SERIALPREFS.BREAKLENGTH'
  2763.      Numeric
  2764.  
  2765.      The break signal length in microseconds.
  2766.  
  2767. `SERIALPREFS.BUFFERSIZE'
  2768.      Numeric
  2769.  
  2770. `SERIALPREFS.DEVICENAME'
  2771.      Text
  2772.  
  2773. `SERIALPREFS.UNIT'
  2774.      Numeric
  2775.  
  2776. `SERIALPREFS.BITSPERCHAR'
  2777.      Numeric
  2778.  
  2779.      The number of bits per transferred char. This can be either seven
  2780.      or eight.
  2781.  
  2782. `SERIALPREFS.PARITYMODE'
  2783.      `NONE' `EVEN' `ODD' `MARK' `SPACE'.
  2784.  
  2785. `SERIALPREFS.STOPBITS'
  2786.      Numeric
  2787.  
  2788.      The number of stop bits to be used. This can be either 0 or 1.
  2789.  
  2790. `SERIALPREFS.HANDSHAKINGMODE'
  2791.      `NONE' `RTSCTS' `RTSCTSDSR'
  2792.  
  2793. `SERIALPREFS.DUPLEXMODE'
  2794.      `HALF' `FULL'
  2795.  
  2796. `SERIALPREFS.LOCALECHO'
  2797.      Boolean
  2798.  
  2799. `SERIALPREFS.INTERNALXONXOFF'
  2800.      Boolean
  2801.  
  2802. `SERIALPREFS.HIGHSPEED'
  2803.      Boolean
  2804.  
  2805. `SERIALPREFS.SHARED'
  2806.      Boolean
  2807.  
  2808. `SERIALPREFS.STRIPBIT8'
  2809.      Boolean
  2810.  
  2811. `SERIALPREFS.CARRIERCHECK'
  2812.      Boolean
  2813.  
  2814. `SERIALPREFS.PASSXONXOFFTHROUGH'
  2815.      Boolean
  2816.  
  2817. `SERIALPREFS.DIRECTCONNECTION'
  2818.      Boolean
  2819.  
  2820. `SERIALPREFS.QUANTUM'
  2821.      Numeric
  2822.  
  2823. `SERIALPREFS.USEOWNDEVUNIT'
  2824.      Boolean
  2825.  
  2826. `SERIALPREFS.OWNDEVUNITREQUEST'
  2827.      `RELEASE' `RELEASERETRY' `IGNORE'
  2828.  
  2829. The MODEMPREFS object
  2830. =====================
  2831.  
  2832.    Available fields are:
  2833. `MODEMPREFS.MODEMINITTEXT'
  2834.      Text
  2835.  
  2836. `MODEMPREFS.MODEMEXITTEXT'
  2837.      Text
  2838.  
  2839. `MODEMPREFS.MODEMHANGUPTEXT'
  2840.      Text
  2841.  
  2842. `MODEMPREFS.DIALPREFIXTEXT'
  2843.      Text
  2844.  
  2845. `MODEMPREFS.DIALSUFFIXTEXT'
  2846.      Text
  2847.  
  2848. `MODEMPREFS.CHARSENDDELAY'
  2849.      Numeric
  2850.  
  2851. `MODEMPREFS.DIALMODE'
  2852.      `PULSE' `TONE'
  2853.  
  2854. `MODEMPREFS.NOCARRIERTEXT'
  2855.      Text
  2856.  
  2857. `MODEMPREFS.NODIALTONETEXT'
  2858.      Text
  2859.  
  2860. `MODEMPREFS.CONNECTTEXT'
  2861.      Text
  2862.  
  2863. `MODEMPREFS.VOICETEXT'
  2864.      Text
  2865.  
  2866. `MODEMPREFS.RINGTEXT'
  2867.      Text
  2868.  
  2869. `MODEMPREFS.BUSYTEXT'
  2870.      Text
  2871.  
  2872. `MODEMPREFS.OKTEXT'
  2873.      Text
  2874.  
  2875. `MODEMPREFS.ERRORTEXT'
  2876.      Text
  2877.  
  2878. `MODEMPREFS.REDIALDELAY'
  2879.      Numeric
  2880.  
  2881.      The redial delay in seconds
  2882.  
  2883. `MODEMPREFS.DIALRETRIES'
  2884.      Numeric
  2885.  
  2886. `MODEMPREFS.DIALTIMEOUT'
  2887.      Numeric
  2888.  
  2889.      The dial timeout in seconds
  2890.  
  2891. `MODEMPREFS.VERBOSEDIALING'
  2892.      Boolean
  2893.  
  2894. `MODEMPREFS.CONNECTAUTOBAUD'
  2895.      Boolean
  2896.  
  2897. `MODEMPREFS.HANGUPDROPSDTR'
  2898.      Boolean
  2899.  
  2900. `MODEMPREFS.REDIALAFTERHANGUP'
  2901.      Boolean
  2902.  
  2903. `MODEMPREFS.NOCARRIERISBUSY'
  2904.      Boolean
  2905.  
  2906. `MODEMPREFS.CONNECTLIMIT'
  2907.      Numeric
  2908.  
  2909.      Time limit in minutes.
  2910.  
  2911. `MODEMPREFS.CONNECTLIMITMACRO'
  2912.      Text
  2913.  
  2914. `MODEMPREFS.TIMETOCONNECT'
  2915.      Numeric
  2916.  
  2917. `MODEMPREFS.INTERDIALDELAY'
  2918.      Numeric
  2919.  
  2920. The SCREENPREFS object
  2921. ======================
  2922.  
  2923.    Available fields are:
  2924. `SCREENPREFS.COLOURMODE'
  2925.      `TWO' `FOUR' `EIGHT' `SIXTEEN'
  2926.  
  2927. `SCREENPREFS.FONTNAME'
  2928.      Text
  2929.  
  2930. `SCREENPREFS.FONTSIZE'
  2931.      Numeric
  2932.  
  2933. `SCREENPREFS.MAKESCREENPUBLIC'
  2934.      Boolean
  2935.  
  2936. `SCREENPREFS.SHANGHAIWINDOWS'
  2937.      Boolean
  2938.  
  2939. `SCREENPREFS.BLINKING'
  2940.      Boolean
  2941.  
  2942. `SCREENPREFS.FASTERLAYOUT'
  2943.      Boolean
  2944.  
  2945. `SCREENPREFS.TITLEBAR'
  2946.      Boolean
  2947.  
  2948. `SCREENPREFS.STATUSLINEMODE'
  2949.      `DISABLED' `STANDARD' `COMPRESSED'
  2950.  
  2951. `SCREENPREFS.USEPUBSCREEN'
  2952.      Boolean
  2953.  
  2954. `SCREENPREFS.PUBSCREENNAME'
  2955.      Text
  2956.  
  2957. `SCREENPREFS.USEPENS'
  2958.      Boolean
  2959.  
  2960. `SCREENPREFS.WINDOWBORDER'
  2961.      Boolean
  2962.  
  2963. `SCREENPREFS.SPLITSTATUS'
  2964.      Boolean
  2965.  
  2966. `SCREENPREFS.ONLINEDISPLAY'
  2967.      `TIME' `COST' `BOTH'
  2968.  
  2969. The TERMINALPREFS object
  2970. ========================
  2971.  
  2972.    Available fields are:
  2973. `TERMINALPREFS.BELLMODE'
  2974.      `NONE' `VISIBLE' `AUDIBLE' `BOTH' `SYSTEM'
  2975.  
  2976. `TERMINALPREFS.ALERTMODE'
  2977.      `NONE' `BELL' `SCREEN' `BOTH'
  2978.  
  2979. `TERMINALPREFS.EMULATIONMODE'
  2980.      `INTERNAL' `ATOMIC' `TTY' `EXTERNAL' `HEX'
  2981.  
  2982. `TERMINALPREFS.FONTMODE'
  2983.      `STANDARD' `IBM' `IBMRAW'
  2984.  
  2985. `TERMINALPREFS.SENDCRMODE'
  2986.      `IGNORE' `CR' `CRLF'
  2987.  
  2988. `TERMINALPREFS.SENDLFMODE'
  2989.      `IGNORE' `LF' `LFCR'
  2990.  
  2991. `TERMINALPREFS.RECEIVECRMODE'
  2992.      `IGNORE' `CR' `CRLF'
  2993.  
  2994. `TERMINALPREFS.RECEIVELFMODE'
  2995.      `IGNORE' `LF' `LFCR'
  2996.  
  2997. `TERMINALPREFS.NUMCOLUMNS'
  2998.      Numeric
  2999.  
  3000. `TERMINALPREFS.NUMLINES'
  3001.      Numeric
  3002.  
  3003. `TERMINALPREFS.KEYMAPNAME'
  3004.      Text
  3005.  
  3006. `TERMINALPREFS.EMULATIONNAME'
  3007.      Text
  3008.  
  3009. `TERMINALPREFS.FONTNAME'
  3010.      Text
  3011.  
  3012. `TERMINALPREFS.FONTSIZE'
  3013.      Numeric
  3014.  
  3015. `TERMINALPREFS.USETERMINALPROCESS'
  3016.      Boolean
  3017.  
  3018. `TERMINALPREFS.AUTOSIZE'
  3019.      Boolean
  3020.  
  3021. The EMULATIONPREFS object
  3022. =========================
  3023.  
  3024.    Available fields are:
  3025. `EMULATIONPREFS.IDENTIFICATION'
  3026.      `VT200' `VT102' `VT101' `VT100'
  3027.  
  3028. `EMULATIONPREFS.CURSORMODE'
  3029.      `STANDARD' `APPLICATION'
  3030.  
  3031. `EMULATIONPREFS.NUMERICMODE'
  3032.      `STANDARD' `APPLICATION'
  3033.  
  3034. `EMULATIONPREFS.CURSORWRAP'
  3035.      Boolean
  3036.  
  3037. `EMULATIONPREFS.LINEWRAP'
  3038.      Boolean
  3039.  
  3040. `EMULATIONPREFS.INSERTMODE'
  3041.      Boolean
  3042.  
  3043. `EMULATIONPREFS.NEWLINEMODE'
  3044.      Boolean
  3045.  
  3046. `EMULATIONPREFS.SCROLLMODE'
  3047.      `JUMP' `SMOOTH'
  3048.  
  3049. `EMULATIONPREFS.DESTRUCTIVEBACKSPACE'
  3050.      `OFF' `OVERSTRIKE' `OVERSTRIKESHIFT'
  3051.  
  3052. `EMULATIONPREFS.SWAPBSDELETE'
  3053.      Boolean
  3054.  
  3055. `EMULATIONPREFS.PRINTERENABLED'
  3056.      Boolean
  3057.  
  3058. `EMULATIONPREFS.ANSWERBACKTEXT'
  3059.      Text
  3060.  
  3061. `EMULATIONPREFS.CLSRESETSCURSOR'
  3062.      Boolean
  3063.  
  3064. `EMULATIONPREFS.NUMPADLOCKED'
  3065.      Boolean
  3066.  
  3067. `EMULATIONPREFS.CURSORLOCKED'
  3068.      Boolean
  3069.  
  3070. `EMULATIONPREFS.FONTLOCKED'
  3071.      Boolean
  3072.  
  3073. `EMULATIONPREFS.WRAPLOCKED'
  3074.      Boolean
  3075.  
  3076. `EMULATIONPREFS.STYLELOCKED'
  3077.      Boolean
  3078.  
  3079. `EMULATIONPREFS.COLOURLOCKED'
  3080.      Boolean
  3081.  
  3082. `EMULATIONPREFS.MAXPRESCROLL'
  3083.      Numeric
  3084.  
  3085. `EMULATIONPREFS.MAXJUMP'
  3086.      Numeric
  3087.  
  3088. `EMULATIONPREFS.USEPENS'
  3089.      Boolean
  3090.  
  3091. The CLIPBOARDPREFS object
  3092. =========================
  3093.  
  3094.    Available fields are:
  3095. `CLIPBOARDPREFS.UNIT'
  3096.      Numeric
  3097.  
  3098. `CLIPBOARDPREFS.CONVERTLF'
  3099.      Wahrheitswert
  3100.  
  3101. `CLIPBOARDPREFS.LINEDELAY'
  3102.      Numeric
  3103.  
  3104.      Paste line delay in 1/100 seconds.
  3105.  
  3106. `CLIPBOARDPREFS.CHARDELAY'
  3107.      Numeric
  3108.  
  3109.      Paste character delay in 1/100 seconds.
  3110.  
  3111. `CLIPBOARDPREFS.LINEPROMPTTEXT'
  3112.      Text
  3113.  
  3114. `CLIPBOARDPREFS.SENDTIMEOUT'
  3115.      Numeric
  3116.  
  3117.      Timeout in 1/100 seconds.
  3118.  
  3119. `CLIPBOARDPREFS.TEXTPACING'
  3120.      `DIRECT' `ECHO' `ANYECHO' `PROMPT' `DELAY' `KEYBOARD'
  3121.  
  3122. `CLIPBOARDPREFS.INSERTPREFIXTEXT'
  3123.      Text
  3124.  
  3125. `CLIPBOARDPREFS.INSERTSUFFIXTEXT'
  3126.      Text
  3127.  
  3128. The CAPTUREPREFS object
  3129. =======================
  3130.  
  3131.    Available fields are:
  3132. `CAPTUREPREFS.LOGACTIONS'
  3133.      Boolean
  3134.  
  3135. `CAPTUREPREFS.LOGFILENAME'
  3136.      Text
  3137.  
  3138. `CAPTUREPREFS.LOGCALLS'
  3139.      Boolean
  3140.  
  3141. `CAPTUREPREFS.CALLLOGFILENAME'
  3142.      Text
  3143.  
  3144. `CAPTUREPREFS.MAXBUFFERSIZE'
  3145.      Numeric
  3146.  
  3147. `CAPTUREPREFS.BUFFER'
  3148.      Boolean
  3149.  
  3150. `CAPTUREPREFS.BUFFERSAVEPATH'
  3151.      Text
  3152.  
  3153. `CAPTUREPREFS.CONNECTAUTOCAPTURE'
  3154.      Boolean
  3155.  
  3156. `CAPTUREPREFS.AUTOCAPTUREDATE'
  3157.      `NAME', `INCLUDE'
  3158.  
  3159. `CAPTUREPREFS.CAPTUREFILTER'
  3160.      Boolean
  3161.  
  3162. `CAPTUREPREFS.CONVERTCHARACTERS'
  3163.      Boolean
  3164.  
  3165. `CAPTUREPREFS.CAPTUREPATH'
  3166.      Text
  3167.  
  3168. `CAPTUREPREFS.OPENBUFFERWINDOW'
  3169.      `TOP', `END'
  3170.  
  3171. `CAPTUREPREFS.REMEMBERBUFFERWINDOW'
  3172.      Boolean
  3173.  
  3174. `CAPTUREPREFS.OPENBUFFERSCREEN'
  3175.      `TOP', `END'
  3176.  
  3177. `CAPTUREPREFS.REMEMBERBUFFERSCREEN'
  3178.      Boolean
  3179.  
  3180. `CAPTUREPREFS.BUFFERSCREENPOSITION'
  3181.      `LEFT', `MID', `RIGHT'
  3182.  
  3183. `CAPTUREPREFS.BUFFERWIDTH'
  3184.      Numeric
  3185.  
  3186. `CAPTUREPREFS.SEARCHHISTORY'
  3187.      Numeric
  3188.  
  3189. `CAPTUREPREFS.BUFFERSAFETYMEMORY'
  3190.      Numeric
  3191.  
  3192. The COMMANDPREFS object
  3193. =======================
  3194.  
  3195.    Available fields are:
  3196. `COMMANDPREFS.STARTUPMACROTEXT'
  3197.      Text
  3198.  
  3199. `COMMANDPREFS.LOGINMACROTEXT'
  3200.      Text
  3201.  
  3202. `COMMANDPREFS.LOGOFFMACROTEXT'
  3203.      Text
  3204.  
  3205. `COMMANDPREFS.UPLOADMACROTEXT'
  3206.      Text
  3207.  
  3208. `COMMANDPREFS.DOWNLOADMACROTEXT'
  3209.      Text
  3210.  
  3211. The MISCPREFS object
  3212. ====================
  3213.  
  3214.    Available fields are:
  3215. `MISCPREFS.PRIORITY'
  3216.      Numeric
  3217.  
  3218. `MISCPREFS.BACKUPCONFIG'
  3219.      Boolean
  3220.  
  3221. `MISCPREFS.OPENFASTMACROPANEL'
  3222.      Boolean
  3223.  
  3224. `MISCPREFS.RELEASEDEVICE'
  3225.      Boolean
  3226.  
  3227. `MISCPREFS.CREATEICONS'
  3228.      Boolean
  3229.  
  3230. `MISCPREFS.SIMPLEIO'
  3231.      Boolean
  3232.  
  3233. `MISCPREFS.PROTECTIVEMODE'
  3234.      Boolean
  3235.  
  3236. `MISCPREFS.IOBUFFERSIZE'
  3237.      Numeric
  3238.  
  3239. `MISCPREFS.ALERTMODE'
  3240.      `NONE' `BELL' `SCREEN' `BOTH'
  3241.  
  3242. `MISCPREFS.REQUESTERMODE'
  3243.      `IGNORE' `CENTRE' `RELATIVE'
  3244.  
  3245. `MISCPREFS.REQUESTERLEFT'
  3246.      Numeric
  3247.  
  3248. `MISCPREFS.REQUESTERTOP'
  3249.      Numeric
  3250.  
  3251. `MISCPREFS.REQUESTERWIDTH'
  3252.      Numeric
  3253.  
  3254. `MISCPREFS.REQUESTERHEIGHT'
  3255.      Numeric
  3256.  
  3257. `MISCPREFS.CONSOLEWINDOW'
  3258.      Text
  3259.  
  3260. `MISCPREFS.SUPPRESSOUTPUT'
  3261.      Boolean
  3262.  
  3263. The PATHPREFS object
  3264. ====================
  3265.  
  3266.    Available fields are:
  3267. `PATHPREFS.ASCIIUPLOADPATH'
  3268.      Text
  3269.  
  3270. `PATHPREFS.ASCIIDOWNLOADPATH'
  3271.      Text
  3272.  
  3273. `PATHPREFS.TEXTUPLOADPATH'
  3274.      Text
  3275.  
  3276. `PATHPREFS.TEXTDOWNLOADPATH'
  3277.      Text
  3278.  
  3279. `PATHPREFS.BINARYUPLOADPATH'
  3280.      Text
  3281.  
  3282. `PATHPREFS.BINARYDOWNLOADPATH'
  3283.      Text
  3284.  
  3285. `PATHPREFS.CONFIGPATH'
  3286.      Text
  3287.  
  3288. `PATHPREFS.EDITORNAME'
  3289.      Text
  3290.  
  3291. `PATHPREFS.HELPFILENAME'
  3292.      Text
  3293.  
  3294. The TRANSFERPREFS object
  3295. ========================
  3296.  
  3297.    Available fields are:
  3298. `TRANSFERPREFS.DEFAULTPROTOCOL'
  3299.      Text
  3300.  
  3301. `TRANSFERPREFS.ERRORNOTIFYCOUNT'
  3302.      Numeric
  3303.  
  3304. `TRANSFERPREFS.ERRORNOTIFYWHEN'
  3305.      `NEVER' `ALWAYS' `START' `END'
  3306.  
  3307. `TRANSFERPREFS.ASCIIUPLOADPROTOCOL'
  3308.      Text
  3309.  
  3310. `TRANSFERPREFS.ASCIIDOWNLOADPROTOCOL'
  3311.      Text
  3312.  
  3313. `TRANSFERPREFS.QUIETTRANSFER'
  3314.      Boolean
  3315.  
  3316. `TRANSFERPREFS.MANGLEFILENAMES'
  3317.      Boolean
  3318.  
  3319. `TRANSFERPREFS.LINEDELAY'
  3320.      Numeric
  3321.  
  3322. `TRANSFERPREFS.CHARDELAY'
  3323.      Numeric
  3324.  
  3325. `TRANSFERPREFS.LINEPROMPTTEXT'
  3326.      Text
  3327.  
  3328. `TRANSFERPREFS.TEXTPACING'
  3329.      `DIRECT' `ECHO' `ANYECHO' `PROMPT' `DELAY' `KEYBOARD'
  3330.  
  3331. `TRANSFERPREFS.SENDTIMEOUT'
  3332.      Numeric
  3333.  
  3334. `TRANSFERPREFS.STRIPBIT8'
  3335.      Boolean
  3336.  
  3337. `TRANSFERPREFS.IGNOREDATAPASTTERMINATOR'
  3338.      Boolean
  3339.  
  3340. `TRANSFERPREFS.TERMINATORCHAR'
  3341.      Numeric
  3342.  
  3343. `TRANSFERPREFS.IDENTIFYCOMMAND'
  3344.      Text
  3345.  
  3346. `TRANSFERPREFS.EXPANDBLANKLINES'
  3347.      Boolean
  3348.  
  3349. `TRANSFERPREFS.TEXTUPLOADPROTOCOL'
  3350.      Text
  3351.  
  3352. `TRANSFERPREFS.TEXTDOWNLOADPROTOCOL'
  3353.      Text
  3354.  
  3355. `TRANSFERPREFS.BINARYUPLOADPROTOCOL'
  3356.      Text
  3357.  
  3358. `TRANSFERPREFS.BINARYDOWNLOADPROTOCOL'
  3359.      Text
  3360.  
  3361. `TRANSFERPREFS.OVERRIDEPATH'
  3362.      Boolean
  3363.  
  3364. `TRANSFERPREFS.SETARCHIVEDBIT'
  3365.      Boolean
  3366.  
  3367. `TRANSFERPREFS.COMMENTMODE'
  3368.      `IGNORE' `FILETYPE' `SOURCE'
  3369.  
  3370. `TRANSFERPREFS.TRANSFERICONS'
  3371.      Boolean
  3372.  
  3373. `TRANSFERPREFS.HIDEUPLOADICON'
  3374.      Boolean
  3375.  
  3376. `TRANSFERPREFS.TRANSFERPERFMETER'
  3377.      Boolean
  3378.  
  3379. `TRANSFERPREFS.DEFAULTTYPE'
  3380.      `XPR' or `PROGRAM'
  3381.  
  3382. `TRANSFERPREFS.DEFAULTSENDSIGNATURE'
  3383.      Text
  3384.  
  3385. `TRANSFERPREFS.DEFAULTRECEIVESIGNATURE'
  3386.      Text
  3387.  
  3388. `TRANSFERPREFS.ASCIIUPLOADTYPE'
  3389.      `XPR', `PROGRAM', `DEFAULT' or `INTERNAL'
  3390.  
  3391. `TRANSFERPREFS.ASCIIUPLOADSIGNATURE'
  3392.      Text
  3393.  
  3394. `TRANSFERPREFS.ASCIIDOWNLOADSIGNATURE'
  3395.      Text
  3396.  
  3397. `TRANSFERPREFS.ASCIIDOWNLOADTYPE'
  3398.      `XPR', `PROGRAM', `DEFAULT' or `INTERNAL'
  3399.  
  3400. `TRANSFERPREFS.ASCIIDOWNLOADSIGNATURE'
  3401.      Text
  3402.  
  3403. `TRANSFERPREFS.ASCIIDOWNLOADSIGNATURE'
  3404.      Text
  3405.  
  3406. `TRANSFERPREFS.TEXTUPLOADTYPE'
  3407.      `XPR', `PROGRAM' or `DEFAULT'
  3408.  
  3409. `TRANSFERPREFS.TEXTUPLOADSIGNATURE'
  3410.      Text
  3411.  
  3412. `TRANSFERPREFS.TEXTDOWNLOADSIGNATURE'
  3413.      Text
  3414.  
  3415. `TRANSFERPREFS.TEXTDOWNLOADTYPE'
  3416.      `XPR', `PROGRAM' or `DEFAULT'
  3417.  
  3418. `TRANSFERPREFS.TEXTDOWNLOADSIGNATURE'
  3419.      Text
  3420.  
  3421. `TRANSFERPREFS.TEXTDOWNLOADSIGNATURE'
  3422.      Text
  3423.  
  3424. `TRANSFERPREFS.BINARYUPLOADTYPE'
  3425.      `XPR', `PROGRAM' or `DEFAULT'
  3426.  
  3427. `TRANSFERPREFS.BINARYUPLOADSIGNATURE'
  3428.      Text
  3429.  
  3430. `TRANSFERPREFS.BINARYDOWNLOADSIGNATURE'
  3431.      Text
  3432.  
  3433. `TRANSFERPREFS.BINARYDOWNLOADTYPE'
  3434.      `XPR', `PROGRAM' or `DEFAULT'
  3435.  
  3436. `TRANSFERPREFS.BINARYDOWNLOADSIGNATURE'
  3437.      Text
  3438.  
  3439. `TRANSFERPREFS.BINARYDOWNLOADSIGNATURE'
  3440.      Text
  3441.  
  3442. The PROTOCOLPREFS object
  3443. ========================
  3444.  
  3445.    This object features no fields, it contains a single line of text:
  3446. the XPR protocol options.
  3447.  
  3448. The TRANSLATIONPREFS object
  3449. ===========================
  3450.  
  3451.    Indices referring to the ascii codes range from 0 to 255, available
  3452. fields are:
  3453. `TRANSLATIONPREFS.n.SEND'
  3454.      Text
  3455.  
  3456. `TRANSLATIONPREFS.n.RECEIVE'
  3457.      Text
  3458.  
  3459. The FUNCTIONKEYPREFS object
  3460. ===========================
  3461.  
  3462.    Key indices range from 1 to 10 (representing F1 through F10),
  3463. available fields are:
  3464. `FUNCTIONKEYPREFS.n'
  3465.      Text
  3466.  
  3467. `FUNCTIONKEYPREFS.SHIFT.n'
  3468.      Text
  3469.  
  3470. `FUNCTIONKEYPREFS.ALT.n'
  3471.      Text
  3472.  
  3473. `FUNCTIONKEYPREFS.CONTROL.n'
  3474.      Text
  3475.  
  3476. The CURSORKEYPREFS object
  3477. =========================
  3478.  
  3479.    Available fields are:
  3480. `CURSORKEYPREFS.UPTEXT'
  3481.      Text
  3482.  
  3483. `CURSORKEYPREFS.RIGHTTEXT'
  3484.      Text
  3485.  
  3486. `CURSORKEYPREFS.DOWNTEXT'
  3487.      Text
  3488.  
  3489. `CURSORKEYPREFS.LEFTTEXT'
  3490.      Text
  3491.  
  3492. `CURSORKEYPREFS.SHIFT.UPTEXT'
  3493.      Text
  3494.  
  3495. `CURSORKEYPREFS.SHIFT.RIGHTTEXT'
  3496.      Text
  3497.  
  3498. `CURSORKEYPREFS.SHIFT.DOWNTEXT'
  3499.      Text
  3500.  
  3501. `CURSORKEYPREFS.SHIFT.LEFTTEXT'
  3502.      Text
  3503.  
  3504. `CURSORKEYPREFS.ALT.UPTEXT'
  3505.      Text
  3506.  
  3507. `CURSORKEYPREFS.ALT.RIGHTTEXT'
  3508.      Text
  3509.  
  3510. `CURSORKEYPREFS.ALT.DOWNTEXT'
  3511.      Text
  3512.  
  3513. `CURSORKEYPREFS.ALT.LEFTTEXT'
  3514.      Text
  3515.  
  3516. `CURSORKEYPREFS.CONTROL.UPTEXT'
  3517.      Text
  3518.  
  3519. `CURSORKEYPREFS.CONTROL.RIGHTTEXT'
  3520.      Text
  3521.  
  3522. `CURSORKEYPREFS.CONTROL.DOWNTEXT'
  3523.      Text
  3524.  
  3525. `CURSORKEYPREFS.CONTROL.LEFTTEXT'
  3526.      Text
  3527.  
  3528. The FASTMACROPREFS object
  3529. =========================
  3530.  
  3531. `FASTMACROPREFS.COUNT'
  3532.      Numeric
  3533.  
  3534.      The number of fast macros available, entries range from
  3535.      `FASTMACROPREFS.0...' to `FASTMACROPREFS.n-1...'
  3536.  
  3537. `FASTMACROPREFS.n.NAME'
  3538.      Text
  3539.  
  3540. `FASTMACROPREFS.n.CODE'
  3541.      Text
  3542.  
  3543. The HOTKEYPREFS object
  3544. ======================
  3545.  
  3546.    Available fields are:
  3547. `HOTKEYPREFS.TERMSCREENTOFRONTTEXT'
  3548.      Text
  3549.  
  3550. `HOTKEYPREFS.BUFFERSCREENTOFRONTTEXT'
  3551.      Text
  3552.  
  3553. `HOTKEYPREFS.SKIPDIALENTRYTEXT'
  3554.      Text
  3555.  
  3556. `HOTKEYPREFS.ABORTAREXX'
  3557.      Text
  3558.  
  3559. `HOTKEYPREFS.COMMODITYPRIORITY'
  3560.      Numeric
  3561.  
  3562. `HOTKEYPREFS.HOTKEYSENABLED'
  3563.      Boolean
  3564.  
  3565. The SPEECHPREFS object
  3566. ======================
  3567.  
  3568.    Available fields are:
  3569. `SPEECHPREFS.RATE'
  3570.      Numeric
  3571.  
  3572. `SPEECHPREFS.PITCH'
  3573.      Numeric
  3574.  
  3575. `SPEECHPREFS.FREQUENCY'
  3576.      Numeric
  3577.  
  3578. `SPEECHPREFS.SEXMODE'
  3579.      `MALE' `FEMALE'
  3580.  
  3581. `SPEECHPREFS.VOLUME'
  3582.      Numeric
  3583.  
  3584. `SPEECHPREFS.SPEECH'
  3585.      Boolean
  3586.  
  3587. The SOUNDPREFS object
  3588. =====================
  3589.  
  3590.    Available fields are:
  3591. `SOUNDPREFS.BELLNAME'
  3592.      Text
  3593.  
  3594. `SOUNDPREFS.CONNECTNAME'
  3595.      Text
  3596.  
  3597. `SOUNDPREFS.DISCONNECTNAME'
  3598.      Text
  3599.  
  3600. `SOUNDPREFS.GOODTRANSFERNAME'
  3601.      Text
  3602.  
  3603. `SOUNDPREFS.BADTRANSFERNAME'
  3604.      Text
  3605.  
  3606. `SOUNDPREFS.RINGNAME'
  3607.      Text
  3608.  
  3609. `SOUNDPREFS.VOICENAME'
  3610.      Text
  3611.  
  3612. `SOUNDPREFS.ERRORNAME'
  3613.      Text
  3614.  
  3615. `SOUNDPREFS.PRELOAD'
  3616.      Boolean
  3617.  
  3618. The CONSOLEPREFS object
  3619. =======================
  3620.  
  3621.    This object features no fields, it contains a single line of text:
  3622. the console output window specification.
  3623.  
  3624. The FILEPREFS object
  3625. ====================
  3626.  
  3627.    Available fields are:
  3628. `FILEPREFS.TRANSFERPROTOCOLNAME'
  3629.      Text
  3630.  
  3631. `FILEPREFS.TRANSLATIONFILENAME'
  3632.      Text
  3633.  
  3634. `FILEPREFS.MACROFILENAME'
  3635.      Text
  3636.  
  3637. `FILEPREFS.CURSORFILENAME'
  3638.      Text
  3639.  
  3640. `FILEPREFS.FASTMACROFILENAME'
  3641.      Text
  3642.  
  3643. Wanted!
  3644. *******
  3645.  
  3646.    As of this writing only a single example ARexx script is included in
  3647. the `term' distribution (see the `Rexx' drawer). However, it is
  3648. desirable to include more sample scripts so more users will be able to
  3649. take advantage of the ARexx interface.
  3650.  
  3651.    If you wish to share your scripts with the `term' user community,
  3652. send them (including documentation) to:
  3653.  
  3654.                              Olaf Barthel
  3655.  
  3656.                            Brabeckstrasse 35
  3657.  
  3658.                            D-30559 Hannover
  3659.  
  3660.                       Federal Republic of Germany
  3661.  
  3662.                     Internet: olsen@sourcery.han.de
  3663.